Video signal processing method and device using intra prediction filtering

ABSTRACT

A video signal processing method comprises: a step for deriving an intra prediction mode of a current block; a step for constructing a reference sample around the current block; a step for generating a prediction sample of the current block by using the reference sample on the basis of the intra prediction mode; and a step for restoring the current block on the basis of the prediction sample. The step for generating the prediction sample may comprise: a step for setting a filter flag value which specifies a filter coefficient of an interpolation filter applied to the reference sample on the basis of the width and height of the current block; and a step for performing filtering on the reference sample by using the interpolation filter having the filter coefficient specified by the filter flag.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of pending PCT InternationalApplication No. PCT/KR2019/016639, which was filed on Nov. 28, 2019, andwhich claims priority under 35 U.S.C 119(a) to Korean Patent ApplicationNo. 10-2018-0150236 filed with the Korean Intellectual Property Officeon Nov. 28, 2018, Korean Patent Application No. 10-2019-0007196 filedwith the Korean Intellectual Property Office on Jan. 18, 2019, andKorean Patent Application No. 10-2019-0099887 filed with the KoreanIntellectual Property Office on Aug. 14, 2019. The disclosures of theabove patent applications are incorporated herein by reference in theirentirety.

TECHNICAL FIELD

The present disclosure relates to a method and an apparatus forprocessing a video signal and, more particularly, to a video signalprocessing method and apparatus for encoding and decoding a videosignal.

BACKGROUND ART

Compression coding refers to a series of signal processing techniquesfor transmitting digitized information through a communication line orstoring information in a form suitable for a storage medium. An objectof compression encoding includes objects such as voice, video, and text,and in particular, a technique for performing compression encoding on animage is referred to as video compression. Compression coding for avideo signal is performed by removing excess information inconsideration of spatial correlation, temporal correlation, andstochastic correlation. However, with recent developments in media anddata transmission media, a more efficient video signal processing methodand apparatus are required.

DETAILED DESCRIPTION OF THE INVENTION Technical Problem

An aspect of the present disclosure is to increase coding efficiency ofa video signal. Another aspect of the present disclosure is to increasesignaling efficiency related to a motion information set of a currentblock.

Technical Solution

In order to achieve the task as described above, the present disclosureprovides a video signal processing device and a video signal processingmethod as follows.

According to an embodiment of the present disclosure, provided is avideo signal processing method including: deriving an intra-predictionmode of a current block; configuring a reference sample around thecurrent block; generating a prediction sample of the current block byusing the reference sample on the basis of the intra-prediction mode;and reconstructing the current block on the basis of the predictionsample, wherein the generating of the prediction sample includes: on thebasis of a width and a height of the current block, configuring a valueof a filter flag specifying a filter coefficient of an interpolationfilter applied to the reference sample; and performing filtering for thereference sample by using an interpolation filter having the filtercoefficient specified by the filter flag.

As an embodiment, the value of the filter flag may be configured on thebasis of a block size variable of the current block. The block sizevariable may be derived by summing up a value of log base 2 of thewidth, a value of log base 2 of the height, and applying a right shiftoperation by 1 for a sum value.

As an embodiment, if a vertical horizontal distance minimum value islarger than a predefined particular threshold value, the value of thefilter flag may be configured to be 1, and otherwise, the value of thefilter flag may be configured to be 0. The vertical horizontal distanceminimum value may be derived to be a smaller value between an absolutevalue of a difference between the intra-prediction mode and a horizontalmode, and an absolute value of a difference between the intra-predictionmode and a vertical mode.

As an embodiment, the threshold value may be previously definedaccording to the block size variable.

As an embodiment, if a value of the block size variable is 2, the valueof the filter flag may be configured to be 0.

As an embodiment, if a value of the block size variable is 2, thethreshold value may be previously defined to be a value that is alwayslarger than or equal to the vertical horizontal distance minimum value.

As an embodiment, the intra-prediction mode used to derive the verticalhorizontal distance minimum value may include an intra-prediction modeof a case where a wide angle intra-prediction is used for the currentblock.

According to an embodiment of the present disclosure, provided is avideo signal processing device including a processor, wherein theprocessor: derives an intra-prediction mode of a current block;configures a reference sample around the current block; generates aprediction sample of the current block by using the reference sample onthe basis of the intra-prediction mode; and reconstructs the currentblock on the basis of the prediction sample, and wherein the processor:on the basis of a width and a height of the current block, configures avalue of a filter flag specifying a filter coefficient of aninterpolation filter applied to the reference sample; and performsfiltering for the reference sample by using an interpolation filterhaving the filter coefficient specified by the filter flag, so as togenerate the prediction sample.

As an embodiment, the filter flag value may be configured on the basisof a block size variable of the current block, and the block sizevariable may be derived by summing up a value of log base 2 of thewidth, and a value of log base 2 of the height, and applying a rightshift operation by 1 for a sum value.

As an embodiment, if a vertical horizontal distance minimum value islarger than a predefined particular threshold value, the value of thefilter flag may be configured to be 1, and otherwise, the value of thefilter flag may be configured to be 0. The vertical horizontal distanceminimum value may be derived to be a smaller value between an absolutevalue of a difference between the intra-prediction mode and a horizontalmode, and an absolute value of a difference between the intra-predictionmode and a vertical mode.

As an embodiment, the threshold value may be previously definedaccording to the block size variable.

As an embodiment, if a value of the block size variable is 2, the valueof the filter flag may be configured to be 0.

As an embodiment, if a value of the block size variable is 2, thethreshold value may be previously defined to be a value that is alwayslarger than or equal to the vertical horizontal distance minimum value.

As an embodiment, the intra-prediction mode used to derive the verticalhorizontal distance minimum value may include an intra-prediction modeof a case where a wide angle intra-prediction is used for the currentblock.

According to an embodiment of the present disclosure, provided is avideo signal processing method including: decoding an intra-predictionmode of a current block; configuring a reference sample around thecurrent block; generating a prediction sample of the current block byusing the reference sample on the basis of the intra-prediction mode;deriving a residual block of the current block on the basis of theprediction sample; and decoding the residual block, wherein thegenerating of the prediction sample includes: on the basis of a widthand a height of the current block, configuring a value of a filter flagspecifying a filter coefficient of an interpolation filter applied tothe reference sample; and performing filtering for the reference sampleby using an interpolation filter having the filter coefficient specifiedby the filter flag.

According to an embodiment of the present disclosure, provided is avideo signal processing method including: deriving an intra-predictionmode of a current block; acquiring a mode flag indicating whether anintra sub partition mode is applied to the current block, the intra subpartition mode indicating a mode in which the current block is splitinto multiple rectangular transform blocks; if the intra sub partitionmode is applied to the current block, acquiring a split flag indicatinga split type of the current block; splitting the current block intomultiple rectangular transform blocks on the basis of the split type ofthe current block; and performing intra-prediction and reconstructionfor each of the transform blocks on the basis of the intra-predictionmode, wherein the mode flag is parsed from a bitstream if a width and aheight of the current block are smaller than or equal to a predefinedmaximum transform size.

As an embodiment, the split flag may be parsed from a bitstream if avalue of the mode flag is 1.

As an embodiment, the split type may be determined to be one ofhorizontal splitting or vertical splitting on the basis of a valueobtained by adding 1 to the split flag if the intra sub partition modeis applied to the current block.

As an embodiment, the acquiring of the split flag may further include:inferring 0 as a value of the split flag if there is no split flag, andthe height of the current block is larger than the maximum transformsize; and inferring 1 as a value of the split flag if there is no splitflag, and the width of the current block is larger than the maximumtransform size.

According to an embodiment of the present disclosure, provided is avideo signal processing device including a processor, wherein theprocessor: derives an intra-prediction mode of a current block; acquiresa mode flag indicating whether an intra sub partition mode is applied tothe current block, the intra sub partition mode indicating a mode inwhich the current block is split into multiple rectangular transformblocks; if the intra sub partition mode is applied to the current block,acquires a split flag indicating a split type of the current block;splits the current block into multiple rectangular transform blocks onthe basis of the split type of the current block; and performsintra-prediction and reconstruction for each of the transform blocks onthe basis of the intra-prediction mode, wherein the mode flag is parsedfrom a bitstream if a width and a height of the current block aresmaller than or equal to a predefined maximum transform size.

As an embodiment, the split flag may be parsed from a bitstream if avalue of the mode flag is 1.

As an embodiment, the split type may be determined to be one ofhorizontal splitting or vertical splitting on the basis of a valueobtained by adding 1 to the split flag if the intra sub partition modeis applied to the current block.

As an embodiment, the processor may: infer 0 as a value of the splitflag if there is no split flag, and the height of the current block islarger than the maximum transform size; and infer 1 as a value of thesplit flag if there is no split flag, and the width of the current blockis larger than the maximum transform size.

Advantageous Effects

According to an embodiment of the present disclosure, it is possible toincrease coding efficiency of a video signal. Further, according to anembodiment of the present disclosure, a transform kernel suitable for acurrent transform block may be selected.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of a video signal encoding apparatusaccording to an embodiment of the present invention.

FIG. 2 is a schematic block diagram of a video signal decoding apparatusaccording to an embodiment of the present invention.

FIG. 3 shows an embodiment in which a coding tree unit is divided intocoding units in a picture.

FIG. 4 shows an embodiment of a method for signaling a division of aquad tree and a multi-type tree.

FIGS. 5 and 6 illustrate an intra-prediction method in more detailaccording to an embodiment of the present disclosure.

FIG. 7 is a diagram illustrating an inter-prediction method according toan embodiment of the present disclosure.

FIG. 8 is a diagram specifically illustrating a method for transforminga residual signal by an encoder.

FIG. 9 is a diagram specifically illustrating a method for obtaining aresidual signal by inverse transforming a transform coefficient by anencoder and a decoder.

FIG. 10 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied.

FIG. 11 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied.

FIG. 12 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied.

FIG. 13 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied.

FIG. 14 is a diagram illustrating a filter flag configuring methodaccording to an embodiment of the present disclosure.

FIG. 15 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied.

FIG. 16 is a diagram illustrating a position-dependent prediction samplefiltering method according to an embodiment of the present disclosure.

FIG. 17 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 18 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 19 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 20 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 21 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 22 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure.

FIG. 23 is a flowchart illustrating an example of an intra-predictionfiltering method according to an embodiment of the present disclosure.

FIG. 24 is a diagram of an example of an intra sub-partitions codingmethod according to an embodiment of the present disclosure.

FIG. 25 is a diagram illustrating a coding unit and a transform unitaccording to an embodiment of the present disclosure.

FIG. 26 is a flowchart illustrating an intra-prediction method accordingto an embodiment of the present disclosure.

MODE FOR CARRYING OUT THE INVENTION

Terms used in this specification may be currently widely used generalterms in consideration of functions in the present invention but mayvary according to the intents of those skilled in the art, customs, orthe advent of new technology. Additionally, in certain cases, there maybe terms the applicant selects arbitrarily. In this case, their meaningsare described in a corresponding description part of the presentinvention. Accordingly, terms used in this specification should beinterpreted based on the substantial meanings of the terms and contentsover the whole specification.

In this specification, some terms may be interpreted as follows. Codingmay be interpreted as encoding or decoding in some cases. In the presentspecification, an apparatus for generating a video signal bitstream byperforming encoding (coding) of a video signal is referred to as anencoding apparatus or an encoder. An apparatus that performs decoding(decoding) of a video signal bitstream to reconstruct a video signal isreferred to as a decoding apparatus or decoder. In addition, in thisspecification, the video signal processing apparatus is used as a termof a concept including both an encoder and a decoder. Information is aterm including all values, parameters, coefficients, elements, etc. Insome cases, the meaning is interpreted differently, so the presentinvention is not limited thereto. The term ‘unit’ is used as a meaningto refer to a basic unit of image processing or a specific position of apicture. It refers to an image region including both a luma componentand a chroma component. In addition, the term ‘block’ refers to an imageregion including a specific component among luma components and chromacomponents (i.e., Cb and Cr). However, depending on the embodiment,terms such as ‘unit’, ‘block’, ‘partition’ and ‘region’ may be usedinterchangeably. In addition, in this specification, a unit may be usedas a concept including all of a coding unit, a prediction unit, and atransform unit. The picture indicates a field or frame, and according toan embodiment, the terms may be used interchangeably.

FIG. 1 is a schematic block diagram of a video signal encoding apparatusaccording to an embodiment of the present invention. Referring to FIG.1, the encoding apparatus 100 of the present invention includes atransformation unit 110, a quantization unit 115, an inversequantization unit 120, an inverse transformation unit 125, a filteringunit 130, a prediction unit 150, and an entropy coding unit 160.

The transformation unit 110 obtains a value of a transform coefficientby transforming a residual signal which is a difference between theinputted video signal and the predicted signal generated by theprediction unit 150. For example, a Discrete Cosine Transform (DCT), aDiscrete Sine Transform (DST), or a Wavelet Transform may be used. TheDCT and DST perform transformation by splitting the input picture signalinto blocks. In the transformation, coding efficiency may vary accordingto the distribution and characteristics of values in the transformationregion. The quantization unit 115 quantizes the value of the transformcoefficient value outputted from the transformation unit 110.

In order to improve coding efficiency, instead of coding the picturesignal as it is, a method of predicting a picture using a region alreadycoded through the prediction unit 150 and obtaining a reconstructedpicture by adding a residual value between the original picture and thepredicted picture to the predicted picture is used. In order to preventmismatches in the encoder and decoder, information that may be used inthe decoder should be used when performing prediction in the encoder.For this, the encoder performs a process of reconstructing the encodedcurrent block again. The inverse quantization unit 120 inverse-quantizesthe value of the transform coefficient and the inverse transformationunit 125 reconstructs the residual value using the inverse quantizedtransform coefficient value. Meanwhile, the filtering unit 130 performsfiltering operations to improve the quality of the reconstructed pictureand to improve the coding efficiency. For example, a deblocking filter,a sample adaptive offset (SAO), and an adaptive loop filter may beincluded. The filtered picture is outputted or stored in a decodedpicture buffer (DPB) 156 for use as a reference picture.

In order to improve coding efficiency, a picture signal is coded byusing a method of predicting a picture via the prediction unit 150 byusing a region that has been already coded, and adding, to the predictedpicture, a residual value between an original picture and the predictedpicture, thereby obtaining a reconstructed picture, is used. The intraprediction unit 152 performs intra prediction within a current pictureand the inter prediction unit 154 predicts the current picture by usinga reference picture stored in the decoding picture buffer 156. The intraprediction unit 152 performs intra prediction from reconstructed regionsin the current picture and transfers intra coding information to theentropy coding unit 160. The inter prediction unit 154 may include amotion estimation unit 154 a and a motion compensation unit 154 b. Themotion estimation unit 154 a obtains a motion vector value of thecurrent region by referring to a specific reconstructed region. Themotion estimation unit 154 a transfers location information (referenceframe, motion vector, etc.) of the reference region to the entropycoding unit 160 so as to enable the location information to be includedin a bitstream. The motion compensation unit 154 b performs inter motioncompensation by using the motion vector value transferred from themotion estimation unit 154 a.

The prediction unit 150 includes an intra prediction unit 152 and aninter prediction unit 154. The intra prediction unit 152 performs intraprediction in the current picture and the inter prediction unit 154performs inter prediction to predict the current picture by using thereference picture stored in the DBP 156. The intra prediction unit 152performs intra prediction from reconstructed samples in the currentpicture and transfers intra encoding information to the entropy codingunit 160. The intra encoding information may include at least one of anintra prediction mode, a most probable mode (MPM) flag, and an MPMindex. The intra encoding information may include information on areference sample. The inter prediction unit 154 may include the motionestimation unit 154 a and the motion compensation unit 154 b. The motionestimation unit 154 a obtains a motion vector value of the currentregion by referring to a specific region of the reconstructed referencepicture. The motion estimation unit 154 a transfers a motion informationset (reference picture index, motion vector information, etc.) for thereference region to the entropy coding unit 160. The motion compensationunit 154 b performs motion compensation by using the motion vector valuetransferred from the motion estimation unit 154 a. The inter predictionunit 154 transfers inter encoding information including motioninformation on the reference region to the entropy coding unit 160.

According to an additional embodiment, the prediction unit 150 mayinclude an intra-block copy (BC) prediction unit (not shown). Theintra-BC prediction unit performs intra-BC prediction based onreconstructed samples in the current picture and transmits intra-BCencoding information to the entropy coding unit 160. The intra-BCprediction unit obtains a block vector value indicating a reference areaused for predicting a current area with reference to a specific area inthe current picture. The intra-BC prediction unit may perform intra-BCprediction using the obtained block vector value. The intra-BCprediction unit transmits intra-BC encoding information to the entropycoding unit 160. The intra-BC encoding information may include blockvector information.

When the picture prediction described above is performed, thetransformation unit 110 transforms a residual value between the originalpicture and the predicted picture to obtain a transform coefficientvalue. In this case, the transformation may be performed in a specificblock unit within a picture and the size of a specific block may bevaried within a preset range. The quantization unit 115 quantizes thetransform coefficient value generated in the transformation unit 110 andtransmits it to the entropy coding unit 160.

The entropy coding unit 160 entropy-codes information indicating aquantized transform coefficient, intra-encoding information,inter-encoding information, and the like to generate a video signalbitstream. In the entropy coding unit 160, a variable length coding(VLC) scheme, an arithmetic coding scheme, etc. may be used. Thevariable length coding (VLC) scheme includes transforming input symbolsinto consecutive codewords and a length of a codeword may be variable.For example, frequently occurring symbols are represented by a shortcodeword and infrequently occurring symbols are represented by a longcodeword. A context-based adaptive variable length coding (CAVLC) schememay be used as a variable length coding scheme. Arithmetic coding maytransform continuous data symbols into a single prime number, whereinarithmetic coding may obtain an optimal bit required for representingeach symbol. A context-based adaptive binary arithmetic code (CABAC) maybe used as arithmetic coding. For example, the entropy coding unit 160may binarize information indicating a quantized transform coefficient.The entropy coding unit 160 may generate a bitstream byarithmetic-coding the binary information.

The generated bitstream is encapsulated using a network abstractionlayer (NAL) unit as a basic unit. The NAL unit includes an integernumber of coded coding tree units. In order to decode a bitstream in avideo decoder, first, the bitstream must be separated in NAL units andthen each separated NAL unit must be decoded. Meanwhile, informationnecessary for decoding a video signal bitstream may be transmittedthrough an upper level set of Raw Byte Sequence Payload (RBSP) such asPicture Parameter Set (PPS), Sequence Parameter Set (SPS), VideoParameter Set (VPS), and the like.

Meanwhile, the block diagram of FIG. 1 shows an encoding apparatus 100according to an embodiment of the present invention, and separatelydisplayed blocks logically distinguish and show the elements of theencoding apparatus 100. Accordingly, the elements of the above-describedencoding apparatus 100 may be mounted as one chip or as a plurality ofchips depending on the design of the device. According to an embodiment,the operation of each element of the above-described encoding apparatus100 may be performed by a processor (not shown).

The schematic block diagram shown in FIG. 2 represents a video signaldecoding apparatus 200 according to an embodiment of the presentinvention. Referring to FIG. 2, the decoding apparatus 200 of thepresent invention includes an entropy decoding unit 210, an inversequantization unit 220, an inverse transformation unit 225, a filteringunit 230, and a prediction unit 250.

The entropy decoding unit 210 entropy-decodes a video signal bitstreamto extract transform coefficient information, intra encodinginformation, inter encoding information, and the like for each region.For example, the entropy decoding unit 210 may obtain a binarizationcode for transform coefficient information of a specific region from thevideo signal bitstream. The entropy decoding unit 210 obtains aquantized transform coefficient by inverse-binarizing a binary code. Theinverse quantization unit 220 inverse-quantizes the quantized transformcoefficient and the inverse transformation unit 225 reconstructs aresidual value by using the inverse-quantized transform coefficient. Thevideo signal processing device 200 reconstructs an original pixel valueby summing the residual value obtained by the inverse transformationunit 225 with a prediction value obtained by the prediction unit 250.

Meanwhile, the filtering unit 230 performs filtering on a picture toimprove image quality. This may include a deblocking filter for reducingblock distortion and/or an adaptive loop filter for removing distortionof the entire picture. The filtered picture is outputted or stored inthe DPB 256 for use as a reference picture for the next picture.

The prediction unit 250 includes an intra prediction unit 252 and aninter prediction unit 254. The prediction unit 250 generates aprediction picture by using the encoding type decoded through theentropy decoding unit 210 described above, transform coefficients foreach region, and intra/inter encoding information. In order toreconstruct a current block in which decoding is performed, a decodedregion of the current picture or other pictures including the currentblock may be used. In a reconstruction, only a current picture, that is,a picture (or, tile/slice) that performs intra prediction or intra BCprediction, is called an intra picture or an ‘I’ picture (or,tile/slice), and a picture (or, tile/slice) that may perform all ofintra prediction, inter prediction, and intra BC prediction is called aninter picture (or, tile/slice). In order to predict sample values ofeach block among inter pictures (or, tiles/slices), a picture (or,tile/slice) using up to one motion vector and a reference picture indexis called a predictive picture or ‘P’ picture (or, tile/slice), and apicture (or tile/slice) using up to two motion vectors and a referencepicture index is called a bi-predictive picture or a ‘B’ picture (ortile/slice). In other words, the ‘P’ picture (or, tile/slice) uses up toone motion information set to predict each block while the ‘B’ picture(or, tile/slice) uses up to two motion information sets to predict eachblock. Here, the motion information set includes one or more motionvectors with one reference picture index.

The intra prediction unit 252 generates a prediction block using theintra encoding information and reconstructed samples in the currentpicture. As described above, the intra encoding information may includeat least one of an intra prediction mode, a Most Probable Mode (MPM)flag, and an MPM index. The intra prediction unit 252 predicts thesample values of the current block by using the reconstructed sampleslocated on the left and/or upper side of the current block as referencesamples. In this disclosure, reconstructed samples, reference samples,and samples of the current block may represent pixels. Also, samplevalues may represent pixel values.

According to an embodiment, the reference samples may be samplesincluded in a neighboring block of the current block. For example, thereference samples may be samples adjacent to a left boundary of thecurrent block and/or samples may be samples adjacent to an upperboundary. Also, the reference samples may be samples located on a linewithin a predetermined distance from the left boundary of the currentblock and/or samples located on a line within a predetermined distancefrom the upper boundary of the current block among the samples ofneighboring blocks of the current block. In this case, the neighboringblock of the current block may include the left (L) block, the upper (A)block, the below left (BL) block, the above right (AR) block, or theabove left (AL) block.

The inter prediction unit 254 generates a prediction block usingreference pictures and inter encoding information stored in the DPB 256.The inter coding information may include motion information set(reference picture index, motion vector information, etc.) of thecurrent block for the reference block. Inter prediction may include L0prediction, L1 prediction, and bi-prediction. L0 prediction meansprediction using one reference picture included in the L0 picture listand L1 prediction means prediction using one reference picture includedin the L1 picture list. For this, one set of motion information (e.g.,motion vector and reference picture index) may be required. In thebi-prediction method, up to two reference regions may be used and thetwo reference regions may exist in the same reference picture or mayexist in different pictures. More specifically, the bi-prediction methodcontains up to two sets of motion information (e.g., a motion vector anda reference picture index) which may be used and two motion vectors maycorrespond to the same reference picture index or different referencepicture indexes. In this case, the reference pictures may be displayed(or outputted) both before and after the current picture in time aspect.According to an embodiment, two reference regions used in thebi-prediction scheme may be regions selected from picture list L0 andpicture list L1, respectively.

The inter prediction unit 254 may obtain a reference block of thecurrent block using a motion vector and a reference picture index. Thereference block is in a reference picture corresponding to a referencepicture index. Also, a sample value of a block specified by a motionvector or an interpolated value thereof may be used as a predictor ofthe current block. For example, for a motion prediction with sub-pelunit pixel accuracy, an 8-tap interpolation filter for a luma signal anda 4-tap interpolation filter for a chroma signal may be used. However,the interpolation filter for motion prediction in sub-pel units is notlimited thereto. From this sequence, the inter prediction unit 254performs motion compensation to predict the texture of the current unitfrom motion pictures reconstructed previously. In this case, the interprediction unit may use a motion information set.

According to an additional embodiment, the prediction unit 250 mayinclude an intra BC prediction unit (not shown). The intra BC predictionunit may reconstruct the current region by referring to a specificregion including reconstructed samples in the current picture. The intraBC prediction unit obtains intra BC encoding information for the currentregion from the entropy decoding unit 210. The intra BC prediction unitobtains a block vector value of the current region indicating thespecific region in the current picture. The intra BC prediction unit mayperform intra BC prediction by using the obtained block vector value.The intra BC encoding information may include block vector information.

The reconstructed video picture is generated by adding the predict valueoutputted from the intra prediction unit 252 or the inter predictionunit 254 and the residual value outputted from the inversetransformation unit 225. That is, the video signal decoding apparatus200 reconstructs the current block using the prediction block generatedby the prediction unit 250 and the residual obtained from the inversetransformation unit 225.

Meanwhile, the block diagram of FIG. 2 shows a decoding apparatus 200according to an embodiment of the present invention, and separatelydisplays the blocks which logically distinguish and show the elements ofthe decoding apparatus 200. Accordingly, the elements of theabove-described decoding apparatus 200 may be mounted as one chip or asa plurality of chips depending on the design of the device. According toan embodiment, the operation of each element of the above-describeddecoding apparatus 200 may be performed by a processor (not shown).

FIG. 3 illustrates an embodiment in which a coding tree unit (CTU) issplit into coding units (CUs) in a picture. In the coding process of avideo signal, a picture may be split into a sequence of coding treeunits (CTUs). The coding tree unit is composed of an N×N block of lumasamples and two blocks of chroma samples corresponding thereto. Thecoding tree unit may be split into a plurality of coding units. Thecoding tree unit is not split and may be a leaf node. In this case, thecoding tree unit itself may be a coding unit. The coding unit refers toa basic unit for processing a picture in the process of processing thevideo signal described above, that is, intra/inter prediction,transformation, quantization, and/or entropy coding. The size and shapeof the coding unit in one picture may not be constant. The coding unitmay have a square or rectangular shape. The rectangular coding unit (orrectangular block) includes a vertical coding unit (or vertical block)and a horizontal coding unit (or horizontal block). In the presentspecification, the vertical block is a block whose height is greaterthan the width and the horizontal block is a block whose width isgreater than the height. Further, in this specification, a non-squareblock may refer to a rectangular block, but the present invention is notlimited thereto.

Referring to FIG. 3, the coding tree unit is first split into a quadtree (QT) structure. That is, one node having a 2N×2N size in a quadtree structure may be split into four nodes having an N×N size. In thepresent specification, the quad tree may also be referred to as aquaternary tree. Quad tree split may be performed recursively and notall nodes need to be split with the same depth.

Meanwhile, the leaf node of the above-described quad tree may be furthersplit into a multi-type tree (MTT) structure. According to an embodimentof the present invention, in a multi-type tree structure, one node maybe split into a binary or ternary tree structure of horizontal orvertical division. That is, in the multi-type tree structure, there arefour split structures such as vertical binary split, horizontal binarysplit, vertical ternary split, and horizontal ternary split. Accordingto an embodiment of the present invention, in each of the treestructures, the width and height of the nodes may all have powers of 2.For example, in a binary tree (BT) structure, a node of a 2N×2N size maybe split into two N×2N nodes by vertical binary split, and split intotwo 2NXN nodes by horizontal binary split. In addition, in a ternarytree (TT) structure, a node of a 2N×2N size is split into (N/2)×2N,N×2N, and (N/2)×2N nodes by vertical ternary split, and split into2N×(N/2), 2N×N, and 2N×(N/2) nodes by horizontal binary split. Thismulti-type tree split may be performed recursively.

The leaf node of the multi-type tree may be a coding unit. If splittingfor the coding unit is not indicated or the coding unit is not large forthe maximum transform length, the coding unit is used as a unit ofprediction and transform without further division. On the other hand, atleast one of the following parameters in the above-described quad treeand multi-type tree may be predefined or transmitted through a highlevel set of RBSPs such as PPS, SPS, VPS, and the like. 1) CTU size:root node size of quad tree, 2) minimum QT size MinQtSize: minimumallowed QT leaf node size, 3) maximum BT size MaxBtSize: maximum allowedBT root node size, 4) Maximum TT size MaxTtSize: maximum allowed TT rootnode size, 5) Maximum MTT depth MaxMttDepth: maximum allowed depth ofMTT split from QT's leaf node, 6) Minimum BT size MinBtSize: minimumallowed BT leaf node size, 7) Minimum TT size MinTtSize: minimum allowedTT leaf node size.

FIG. 4 shows an embodiment of a method for signaling the split of a quadtree and a multi-type tree. Preset flags may be used to signal the splitof the above-described quad tree and multi-type tree. Referring to FIG.4, at least one of a flag ‘qt_split_flag’ indicating whether to splitthe quad tree node, a flag ‘mtt_split_flag’ indicating whether to splitthe multi-type tree node, a flag ‘mtt_split_vertical_flag’ indicating asplit direction of a multi-type tree node, or a flag‘mtt_split_binary_flag’ indicating a split shape of a multi-type treenode may be used.

According to an embodiment of the present invention, the coding treeunit is a root node of a quad tree, and may be first split into a quadtree structure. In the quad tree structure, ‘qt_split_flag’ is signaledfor each node ‘QT_node’. If the value of ‘qt_split_flag’ is 1, the nodeis split into 4 square nodes, and if the value of ‘qt_split_flag’ is 0,the corresponding node becomes the leaf node ‘QT_leaf_node’ of the quadtree.

Each quad tree leaf node ‘QT_leaf_node’ may be further split into amulti-type tree structure. In the multi-type tree structure,‘mtt_split_flag’ is signaled for each node ‘MTT_node’. When the value of‘mtt_split_flag’ is 1, the corresponding node is split into a pluralityof rectangular nodes, and when the value of ‘mtt_split_flag’ is 0, thecorresponding node is a leaf node ‘MTT_leaf_node’ of the multi-typetree. When the multi-type tree node ‘MTT_node’ is split into a pluralityof rectangular nodes (i.e., when the value of ‘mtt_split_flag’ is 1),‘mtt_split_vertical_flag’ and ‘mtt_split_binary_flag’ for the node‘MTT_node’ may be additionally signaled. When the value of‘mtt_split_vertical_flag’ is 1, vertical split of node ‘MTT_node’ isindicated, and when the value of ‘mtt_split_vertical_flag’ is 0,horizontal split of node ‘MTT_node’ is indicated. In addition, when thevalue of ‘mtt_split_binary_flag’ is 1, the node ‘MTT_node’ is split into2 rectangular nodes, and when the value of ‘mtt_split_binary_flag’ is 0,the node ‘MTT_node’ is split into 3 rectangular nodes.

Picture prediction (motion compensation) for coding is performed on acoding unit that is no longer divided (i.e., a leaf node of a codingunit tree). Hereinafter, the basic unit for performing the predictionwill be referred to as a “prediction unit” or a “prediction block”.

Hereinafter, the term “unit” used herein may replace the predictionunit, which is a basic unit for performing prediction. However, thepresent disclosure is not limited thereto, and “unit” may be understoodas a concept broadly encompassing the coding unit.

FIGS. 5 and 6 more specifically illustrate an intra prediction methodaccording to an embodiment of the present invention. As described above,the intra prediction unit predicts the sample values of the currentblock by using the reconstructed samples located on the left and/orupper side of the current block as reference samples.

First, FIG. 5 shows an embodiment of reference samples used forprediction of a current block in an intra prediction mode. According toan embodiment, the reference samples may be samples adjacent to the leftboundary of the current block and/or samples adjacent to the upperboundary. As shown in FIG. 5, when the size of the current block is W×Hand samples of a single reference line adjacent to the current block areused for intra prediction, reference samples may be configured using amaximum of 2 W+2H+1 neighboring samples located on the left and/or upperside of the current block.

When at least some samples to be used as reference samples have not yetbeen reconstructed, the intra prediction unit may obtain referencesamples by performing a reference sample padding procedure. The intraprediction unit may perform a reference sample filtering procedure toreduce an error in intra prediction. That is, filtering may be performedon neighboring samples and/or reference samples obtained by thereference sample padding procedure, so as to obtain the filteredreference samples. The intra prediction unit predicts samples of thecurrent block by using the reference samples obtained as in the above.The intra prediction unit predicts samples of the current block by usingunfiltered reference samples or filtered reference samples. In thepresent disclosure, neighboring samples may include samples on at leastone reference line. For example, the neighboring samples may includeadjacent samples on a line adjacent to the boundary of the currentblock.

Next, FIG. 6 shows an embodiment of prediction modes used for intraprediction. For intra prediction, intra prediction mode informationindicating an intra prediction direction may be signaled. The intraprediction mode information indicates one of a plurality of intraprediction modes included in the intra prediction mode set. When thecurrent block is an intra prediction block, the decoder receives intraprediction mode information of the current block from the bitstream. Theintra prediction unit of the decoder performs intra prediction on thecurrent block based on the extracted intra prediction mode information.

According to an embodiment of the present invention, the intraprediction mode set may include all intra prediction modes used in intraprediction (e.g., a total of 67 intra prediction modes). Morespecifically, the intra prediction mode set may include a planar mode, aDC mode, and a plurality (e.g., 65) of angle modes (i.e., directionalmodes). Each intra prediction mode may be indicated through a presetindex (i.e., intra prediction mode index). For example, as shown in FIG.6, the intra prediction mode index 0 indicates a planar mode and theintra prediction mode index 1 indicates a DC mode. Also, the intraprediction mode indexes 2 to 66 may indicate different angle modes,respectively. The angle modes respectively indicate angles which aredifferent from each other within a preset angle range. For example, theangle mode may indicate an angle within an angle range (i.e., a firstangular range) between 45 degrees and −135 degrees clockwise. The anglemode may be defined based on the 12 o'clock direction. In this case, theintra prediction mode index 2 indicates a horizontal diagonal (HDIA)mode, the intra prediction mode index 18 indicates a horizontal(Horizontal, HOR) mode, the intra prediction mode index 34 indicates adiagonal (DIA) mode, the intra prediction mode index 50 indicates avertical (VER) mode, and the intra prediction mode index 66 indicates avertical diagonal (VDIA) mode.

Meanwhile, according to an embodiment of the present disclosure, apre-configured angle range may be differently configured according tothe shape of a current block. For example, if the current block is arectangular block, a wide angle mode indicating an angle exceeding 45degrees or smaller than −135 degrees in the clockwise direction may beadditionally used. If the current block is a horizontal block, an anglemode may indicate an angle within an angle range (i.e., a second anglerange) between (45+a first offset) degrees and (−135+the first offset)degrees in the clockwise direction. Angle modes 67 to 76 (or modes 67 to80 as illustrated in FIG. 6) beyond the first angle range may beadditionally used. In addition, if the current block is a verticalblock, an angle mode may indicate an angle within an angle range (i.e.,a third angle range) between (45−a second offset) degrees and (−135−thesecond offset) degrees in the clockwise direction. Angle modes −10 to −1(or modes −14 to −1 as illustrated in FIG. 6) beyond the first anglerange may be additionally used. According to an embodiment of thepresent disclosure, the values of the first offset and the second offsetmay be differently determined according to a ratio between the width andthe height of a rectangular block. In addition, the first offset and thesecond offset may be positive numbers.

According to an additional embodiment of the present disclosure,multiple angle modes constituting an intra-prediction mode set mayinclude a basic angle mode and an extended angle mode. The extendedangle mode may be determined on the basis of the basic angle mode.

According to an embodiment, the basic angle mode may correspond to amode corresponding to an angle used for an intra-prediction following aconventional high efficiency video coding (HEVC) standard, and theextended angle mode may correspond to a mode corresponding to an anglenewly added for an intra-prediction following a new generation videocodec standard. More specifically, the basic angle mode may correspondto an angle mode corresponding to one of intra-prediction modes {2, 4,6, . . . , and 66}, and the extended angle mode may correspond to anangle mode corresponding to one of intra-prediction modes {3, 5, 7, . .. , and 65}. That is, the extended angle mode may be an angle modebetween the basic angle modes within the first angle range. Therefore,an angle indicated by the extended angle mode may be determined on thebasis of an angle indicated by the basic angle mode.

According to another embodiment, the basic angle mode may be a modecorresponding to an angle within the pre-configured first angle range,and the extended angle mode may correspond to a wide angle mode beyondthe first angle range. That is, the basic angle mode may correspond toan angle mode corresponding to one of intra-prediction modes {2, 3, 4, .. . , and 66}, and the extended angle mode may correspond to an anglemode corresponding to one of intra-prediction modes {−10, −9, . . . ,and −1} and {67, 68, . . . , and 76}. An angle indicated by the extendedangle mode may be determined to be an angle opposite to an angleindicated by the basic angle mode corresponding to the extended anglemode. Therefore, an angle indicated by the extended angle mode may bedetermined on the basis of an angle indicated by the basic angle mode.Meanwhile, the number of the extended angle modes is not limited theretoand additional extended angles may be defined according to the sizeand/or the shape of a current block. For example, the extended anglemode may be defined as an angle mode corresponding to one ofintra-prediction modes {−14, −13, . . . , and −1} and {67, 68, . . . ,and 80}. Meanwhile, the total number of intra-prediction modes includedin an intra-prediction mode set may vary according to a configuration ofthe basic angle mode and the extended angle mode described above.

In the above embodiments, the gap between the extended angle modes maybe configured on the basis of the gap between the basic angle modescorresponding to the extended angle modes. For example, the gap betweenextended angle modes {3, 5, 7, . . . and 65} may be determined on thebasis of the gap between basic angle modes {2, 4, 6, . . . , and 66}corresponding to the extended angle modes. In addition, the gap betweenextended angle modes {−10, −9, . . . , −1} may be determined on thebasis of the gap between basic angle modes {56, 57, . . . , 65}corresponding to the extended angle modes at the opposite side, and thegap between extended angle modes {67, 68, . . . , 76} may be determinedon the basis of the gap between basic angle modes {3, 4, . . . , 12}corresponding to the extended angle modes at the opposite side. In theabove embodiments, the angle gap between the extended angle modes may beconfigured to be the same as the angle gap between the basic angle modescorresponding to the extended angle modes. In addition, the number ofthe extended angle modes in an intra-prediction mode set may beconfigured to be equal to or smaller than that of the basic angle modes.

According to an embodiment of the present disclosure, the extended anglemode may be signaled on the basis of the basic angle mode. For example,a wide-angle mode (i.e., an extended angle mode) may be substituted forat least one angle mode (i.e., a basic angle mode) within the firstangle range. The replaced basic angle mode may be an angle modecorresponding to the wide-angle mode at the opposite side. That is, thereplaced basic angle mode is an angle mode corresponding to an angleopposite to an angle indicated by the wide-angle mode or an angle modecorresponding to an angle differing from the opposite angle by apre-configured offset index. According to an embodiment of the presentdisclosure, the pre-configured offset index is 1. An intra-predictionmode index corresponding to the replaced basic angle mode may be mappedto the wide-angle mode again so as to signal the wide angle mode. Forexample, wide angle modes {−10, −9, . . . , and −1} may be signaled byintra-prediction mode indexes {57, 58, . . . , and 66}, respectively,and wide angle modes {67, 68, . . . , and 76} may be signaled byintra-prediction mode indexes {2, 3, . . . , and 11}, respectively. Asdescribed above, an intra-prediction mode index for the basic angle modeis allowed to signal the extended angle mode, and thus even if anglemode configurations used for intra-predictions of individual blocks aredifferent from each other, the same set of intra-prediction mode indexesmay be used for signaling of an intra-prediction mode. Therefore,signaling overhead due to the change in an intra-prediction modeconfiguration may be minimized.

Meanwhile, whether to use the extended angle mode may be determined onthe basis of at least one of the shape and the size of a current block.According to an embodiment, if the size of a current block is greaterthan a pre-configured size, the extended angle mode is used forintra-prediction of the current block, and otherwise, only the basicangle mode may be used for intra-prediction of the current block.According to another embodiment, if a current block is a block which isnot square, the extended angle mode is used for intra-prediction of thecurrent block, and if the current block is a square block, only thebasic angle mode may be used for intra-prediction of the current block.

An intra-prediction unit determines reference pixels and/or interpolatedreference pixels which are to be used for intra-prediction of a currentblock, on the basis of intra-prediction mode information of the currentblock. If an intra-prediction mode index indicates a particular anglemode, a reference pixel or an interpolated reference pixel positioned tocorrespond to the particular angle from a current pixel of a currentblock is used to predict the current pixel. Therefore, different sets ofreference pixels and/or interpolated reference pixels may be used forintra-prediction according to an intra-prediction mode. After anintra-prediction is performed on a current block by using referencepixels and intra-prediction mode information, the decoder mayreconstruct pixel values of the current block by adding a residualsignal of the current block obtained from an inverse transform unit, toan intra-prediction value of the current block.

According to an additional embodiment of the present disclosure, asdescribed with reference to FIG. 6, an angle mode beyond the first anglerange may be additionally used. In an embodiment, angle modes beyond thefirst angle range may be angle modes −14 to −1, or angle modes 67 to 80as illustrated in FIG. 6. In addition, as described above, the number ofthe extended angle modes may vary according to the shape and/or the sizeof a current block, and the extended angle modes may extend up to anglemode 80 or angle mode −14 illustrated in FIG. 6. For example, the numberof extended angles or the indexes of extended modes may be determined onthe basis of a value based on a ratio between the width and the heightof a current block. For example, the value based on the ratio betweenthe width and the height of the current block may be Abs(Log2(width/height)), in which Abs( ) may indicate an absolute valueoperator. In addition, the current block may be a coding block, aprediction block, or a transform block. Alternatively, the current blockmay indicate a coding unit (CU), a transform unit (TU), or a predictionunit (PU).

Hereinafter, an inter-prediction method according to an embodiment ofthe present disclosure will be described with reference to FIG. 7. Inthe present disclosure, the inter-prediction method may include a normalinter-prediction method which is optimized for a translation motion, andan affine model-based inter-prediction method. In addition, a motionvector may include at least one of a normal motion vector for motioncompensation according to the normal inter-prediction method and acontrol point motion vector for affine motion compensation.

FIG. 7 is a diagram illustrating an inter-prediction method according toan embodiment of the present disclosure. As described above, a decodermay predict a current block by making reference to reconstructed samplesof a different decoded picture. Referring to FIG. 7, the decoder mayobtain a reference block 702 in a reference picture 720 based on amotion information set of a current block 701. In this instance, themotion information set may include a reference picture index and amotion vector 703. The reference picture index may indicate thereference picture 720 including a reference block for inter-predictionof the current block in a reference picture list. According to anembodiment, the reference picture list may include at least one of theabove-mentioned L0 picture list or L1 picture list. The motion vector703 may indicate an offset between the coordinate values of the currentblock 701 in a current picture 710 and coordinate values of thereference block 702 in the reference picture 720. The decoder may obtaina predictor of the current block 701 based on the sample values of thereference block 702 and may reconstruct the current block 701 using thepredictor.

Particularly, an encoder may obtain the above-mentioned reference blockby searching for a block similar to the current block from pictureswhich have earlier turns in the order of reconstruction. For example,the encoder may search for a reference block having the minimum sumwhich is obtained by adding differences between the current block andsample values in a predetermined search area. In this instance, in orderto measure similarity between the current block and the samples of areference block, at least one of a sum of absolute difference (SAD) or asum of Hadamard transformed difference (SATD) may be used. Here, SAD maybe a value obtained by adding the absolute values of the differencesbetween samples included in two blocks. In addition, SATD may be a valueobtained by adding the absolute values of Hadamard transformcoefficients that are obtained by performing Hadamard transform on thedifferences between samples included in two blocks.

The current block may be predicted using one or more reference areas. Asdescribed above, the current block may be inter-predicted according tobi-prediction scheme that uses two or more reference areas. According toan embodiment, the decoder may obtain two reference blocks based on twomotion information sets of the current block. In addition, the decodermay obtain a first predictor and a second predictor of the current blockbased on the sample values of each of the two obtained reference blocks.In addition, the decoder may reconstruct the current block using thefirst predictor and the second predictor. For example, the decoder mayreconstruct the current block based on the average of the samples ofeach of the first predictor and the second predictor.

As described above, for the motion compensation of the current block,one or more motion information sets may be signaled. In this instance,similarity between motion information sets for motion compensation withrespect to each of a plurality of blocks may be used. For example, amotion information set used for predicting the current block may bederived from a motion information set which was used for predicting anyone of the other samples previously reconstructed. From this sequencedescribed above, the encoder and the decoder may reduce signalingoverhead.

For example, there may be a plurality of candidate blocks having theprobability of being predicted based on a motion information set whichis identical or similar to the motion information set of the currentblock. The decoder may generate a merge candidate list based on theplurality of candidate blocks. Here, the merge candidate list mayinclude candidates corresponding to samples which have the probabilityof being predicted based on a motion information set related to themotion information set of the current block, among the samplesreconstructed in advance of the current block. The encoder and thedecoder may configure the merge candidate list of the current blockaccording to a previously defined rule. In this instance, the mergecandidate list configured by the encoder and the merge candidate listconfigured by the decoder may be identical to each other. For example,the encoder and the decoder may configure merge candidate lists of thecurrent block based on the location of the current block in the currentpicture. A method of configuring the merge candidate lists of thecurrent block by the encoder and the decoder will be described withreference to FIG. 9. In the present disclosure, the location of apredetermined block may be a relative location of a top-left sample of apredetermined block in a picture including the predetermined block.

Meanwhile, in order to improve coding efficiency, a method of quantizinga transform coefficient value obtained by transforming a residual signaland coding the quantized transform coefficient may be used instead ofcoding the above-described residual as it is. As described above, thetransform unit may obtain a transform coefficient value by transforminga residual signal. In this case, the residual signal of a specific blockmay be distributed over an entire area of the current block.Accordingly, it is possible to improve coding efficiency byconcentrating energy in the low frequency region through frequencydomain conversion of a residual signal. Hereinafter, a method oftransforming or inversely transforming a residual signal will bedescribed in detail.

FIG. 8 is a diagram specifically illustrating a method for transforminga residual signal by an encoder. As described above, a residual signalin a spatial domain may be transformed to a frequency domain. An encodermay obtain a transform coefficient by transforming the obtained residualsignal. First, the encoder may obtain at least one residual blockincluding a residual signal for a current block. The residual block maybe either the current block or one of blocks divided from the currentblock. In the present disclosure, the residual block may be referred toas a residual array or a residual matrix which include residual samplesof the current block. In the present disclosure, the residual block mayrepresent a transform unit or a block having the same size as that ofthe transform block.

Next, the encoder may transform the residual block by using a transformkernel. The transform kernel used for transformation of the residualblock may be a transform kernel having separable characteristics ofvertical transform and horizontal transform. In this case, the transformfor the residual block may be performed separately into verticaltransform and horizontal transform. For example, the encoder may performvertical transformation by applying a transform kernel in the verticaldirection of the residual block. The encoder may perform horizontaltransform by applying the transform kernel in the horizontal directionof the residual block. In the present disclosure, the transform kernelmay be used as a term to refer to a parameter set used for transformingof the residual signal, such as transform matrix, transform array,transform function, and transform. According to an embodiment, thetransform kernel may be any one of a plurality of available kernels. Atransform kernel based on different transform types may be used for eachof the vertical transform and the horizontal transform.

The encoder may transfer the transform block transformed from theresidual block to a quantization unit and quantize the transform block.The transform block may include a plurality of transform coefficients.Specifically, the transform block may include the plurality of transformcoefficients arranged in two dimensions. As in the case of the residualblock, the size of the transform block may be the same as the size ofeither the current block or the block divided from the current block.The transform coefficients transferred to the quantization unit may beexpressed as quantized values.

The encoder may perform additional transform before the transformcoefficients are quantized. As illustrated in FIG. 8, the transformmethod described above may be referred to as a primary transform, and anadditional transform may be referred to as a secondary transform. Thesecondary transform may be selective for each residual block. Accordingto an embodiment, the encoder may improve coding efficiency byperforming secondary transform for a region where it is difficult toconcentrate energy in a low-frequency region only by primary transform.For example, secondary transform may be added to a block in whichresidual values appear larger in a direction other than the horizontalor vertical direction of the residual block. The residual values of anintra-predicted block may have a higher probability of transformation ina direction other than the horizontal or vertical direction compared tothe residual values of an inter-predicted block. Accordingly, theencoder may additionally perform secondary transform on the residualsignal of the intra-predicted block. The encoder may omit secondarytransform for the residual signal of the inter-predicted block.

As another example, whether to perform secondary transform may bedetermined depending on the size of the current block or the size of theresidual block. Transform kernels having different sizes may be useddepending on the size of the current block or the size of the residualblock. For example, 8×8 secondary transform may be applied to a block inwhich a length of a shorter side between a width or a height is shorterthan a first preconfigured length. Further, 4×4 secondary transform maybe applied to a block in which the length of the shorter side betweenthe width or the height is longer than a second preconfigured length.Here, the first preconfigured length may be a value larger than thesecond preconfigured length but the present disclosure is not limitedthereto. Unlike primary transform, secondary transform may not beperformed separately into vertical transform and horizontal transform.This secondary transform may be referred to as a low frequency bandnon-separable transform (low frequency non-separable transform, LFNST).

In the case of a video signal in a specific region, energy in a highfrequency band may not be reduced even if frequency transformation isperformed due to a sudden change in brightness. Accordingly, compressionperformance due to quantization may be deteriorated. When transform isperformed on a region in which a residual value rarely exists, anencoding time and a decoding time may increase undesirably. Accordingly,transform on the residual signal of the specific region may be omitted.Whether to perform transform on the residual signal of the specificregion may be determined by a syntax element related to transform of thespecific region. For example, the syntax element may include transformskip information. The transform skip information may be a transform skipflag. If the transform skip information on the residual block indicatesa transform skip, transform on the residual block is not performed. Inthis case, the encoder may immediately quantize the residual signal onwhich transform of a corresponding region has not been performed. Theoperations of the encoder described with reference to FIG. 8 may beperformed via the transform unit of FIG. 1.

The above-described transform-related syntax elements may be informationparsed from a video signal bitstream. The decoder may entropy-decode thevideo signal bitstream so as to obtain transform-related syntaxelements. The encoder may entropy-code the transform-related syntaxelements so as to generate a video signal bitstream.

FIG. 9 is a diagram specifically illustrating a method for obtaining aresidual signal by inverse transforming a transformation coefficient byan encoder and a decoder. For the convenience of description, it will bedescribed that an inverse transform operation is performed via aninverse transform unit of each of an encoder and a decoder. The inversetransform unit may obtain a residual signal by inverse transforming aninverse quantized transform coefficient. First, the inverse transformunit may detect whether inverse transform for a specific region isperformed, from a transform-related syntax element of the region.According to an embodiment, when a transform-related syntax element fora specific transform block indicates a transform skip, transform on thetransform block may be omitted. In this case, both a primary inversetransform and a secondary inverse transform described above regardingthe transform block may be omitted. The inverse quantized transformcoefficient may be used as a residual signal. For example, the decodermay reconstruct a current block by using the inverse quantized transformcoefficient as a residual signal.

According to another embodiment, the transform-related syntax elementfor the specific transform block may not indicate a transform skip. Inthis case, the inverse transform unit may determine whether to perform asecondary inverse transform for a secondary transform. For example, whenthe transform block is a transform block of an intra-predicted block,the secondary inverse transform may be performed on the transform block.A secondary transform kernel used for the transform block may bedetermined based on an intra prediction mode corresponding to thetransform block. As another example, whether to perform the secondaryinverse transform may be determined based on the size of the transformblock. The secondary inverse transform may be performed after theinverse quantization and before a primary inverse transform.

The inverse transform unit may perform a primary inverse transform onthe inverse quantized transform coefficient, or a secondary inversetransformed transform coefficient. In the case of the primary inversetransform, vertical transform and horizontal transform may be performedseparately as in the case of a primary transform. For example, theinverse transform unit may obtain a residual block by performingvertical inverse transform and horizontal inverse transform on thetransform block. The inverse transform unit may inverse transform thetransform block on the basis of the transform kernel used fortransforming the transform block. For example, the encoder mayexplicitly or implicitly signal information indicating the transformkernel applied to the current transform block from among a plurality ofavailable transform kernels. The decoder may select a transform kernelto be used for inverse transform of the transform block from among theplurality of available transform kernels by using information indicatingthe signaled transform kernel. The inverse transform unit mayreconstruct the current block by using the residual signal obtained viainverse transform on the transform coefficient.

According to an embodiment of the present disclosure, a prediction angleof an intra-prediction mode may be defined according to a predictionmode index of the intra-prediction mode. In an embodiment, a mappingtable between a prediction mode index and an angle may be defined asshown in Table 1 below. In the present detailed description, anintra-prediction mode index may be called a mode index, a predictionmode number, a mode number, etc.

TABLE 1 predModeIntra −10 −9 −8 −7 −6 −5 −4 −3 −2 −1 2 3 4 5 6 7 8intraPredAngle 114 93 79 68 60 54 49 45 39 35 32 29 26 23 21 19 17predModeIntra 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25intraPredAngle 15 13 11 9 7 5 3 2 1 0 −1 −2 −3 −5 −7 −9 −11predModeIntra 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42intraPredAngle −13 −15 −17 −19 −21 −23 −26 −29 −32 −29 −26 −23 −21 −19−17 −15 −13 predModeIntra 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5758 59 intraPredAngle −11 −9 −7 −5 −3 −2 −1 0 1 2 3 5 7 9 11 13 15predModeIntra 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76intraPredAngle 17 19 21 23 26 29 32 35 39 45 49 54 60 68 79 93 114

In Table 1, predModeIntra is a parameter (or a variable) indicating anintra-prediction mode (or a prediction mode index, or a prediction modenumber). In the present detailed description, predModeIntra may becalled an intra-prediction mode. In addition, intraPredAngle is aparameter (or a variable) indicating an angle (or a prediction angle) ofthe intra-prediction mode. In the present detailed description,intraPredAngle may be called a prediction angle. In an embodiment, theprediction angle may be determined according to the intra-predictionmode. In addition, the encoder/decoder may determine a refernece samplein what position or at what angle is to be used for prediction, withreference to the current sample, on the basis of the prediction angle.

According to an embodiment of the present disclosure, Table 1 may showmapping between an angle parameter and a prediction mode indexassociated with a prediction angle of a prediction mode, as describedabove with reference to FIG. 6. According to an embodiment, theintra-prediction mode shown in Table 1 may show an index of a predictionmode to be used for actual prediction, which is transformed from asignaled index. For example, if a current block is a non-square blockwith respect to a signaled mode index, a transformation may be appliedthrough the following procedure. In other words, in an embodiment, withrespect to a non-square block having a width and a height which aredifferent from each other, the intra-prediction mode may be correctedthrough a process as follows.

-   -   A. If all the following conditions are satisfied, an        intra-prediction mode (predModeIntra) may be configured to be        (predModeIntra (i.e., a signaled mode index)+65).    -   a. If nTbW is larger than nTbH    -   b. If the intra-prediction mode is equal to or larger than 2    -   c. If the intra-prediction mode is smaller than (whRatio>1) ?        12:8    -   B. Otherwise, if all the following conditions are satisfied, the        intra-prediction mode may be configured to be        (predModeIntra−67).    -   a. If nTbH is larger than nTbW    -   b. If the intra-prediction mode is equal to or smaller than 66    -   c. The intra-prediction mode is larger than (whRatio>1) ?56:60

In the above process, nTbW indicates the width of a current processingblock (a coding block or a transform block), and nTbH indicates theheight of a current processing block. whRatio is a variable indicating aratio between the width and the height. For example, whRatio may beconfigured by Min(Abs(Log 2(nTbW/nTbH), 2). A?B:C indicates acalculation for deriving a value of B if A is true, and deriving a valueof C if A is false.

According to an embodiment of the present disclosure, a prediction angleof an intra-prediction mode may be defined according to a predictionmode index of the intra-prediction mode. In an embodiment, a mappingtable between a prediction mode index and an angle may be defined asshown in Table 2 below.

TABLE 2 predModeIntra −14 −13 −12 −11 −10 −9 −8 −7 −6 −5 −4 −3 −2 −1 2 34 intraPredAngle 512 341 256 171 128 102 86 73 64 57 51 45 39 35 32 2926 predModeIntra 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21intraPredAngle 23 20 18 16 14 12 10 8 6 4 3 2 1 0 −1 −2 −3 predModeIntra22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 intraPredAngle −4 −6−8 −10 −12 −14 −16 −18 −20 −23 −26 −29 −32 −29 −26 −23 −20 predModeIntra39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 intraPredAngle −18−16 −14 −12 −10 −8 −6 −4 −3 −2 −1 0 1 2 3 4 6 predModeIntra 56 57 58 5960 61 62 63 64 65 66 67 68 69 70 71 72 intraPredAngle 8 10 12 14 16 1820 23 26 29 32 35 39 45 51 57 64 predModeIntra 73 74 75 76 77 78 79 80intraPredAngle 73 86 102 128 171 256 341 512

In Table 2, predModeIntra is a parameter (or a variable) indicating anintra-prediction mode (or a prediction mode index, or a prediction modenumber). In the present detailed description, predModeIntra may becalled an intra-prediction mode. In addition, intraPredAngle is aparameter (or a variable) indicating an angle (or a prediction angle) ofthe intra-prediction mode. In the present detailed description,intraPredAngle may be called a prediction angle. In an embodiment, theprediction angle may be determined according to the intra-predictionmode. In addition, the encoder/decoder may determine, on the basis ofthe prediction angle, which position or angle at which a referencesample exists with respect to a current sample, the reference samplebeing to be used for a prediction.

According to an embodiment of the present disclosure, Table 2 may showmapping between an angle parameter and a prediction mode indexassociated with a prediction angle of a prediction mode, as describedwith reference to FIG. 6. According to an embodiment, theintra-prediction mode shown in Table 2 may show an index of a predictionmode to be used for actual prediction, which is transformed from asignaled index. For example, if a current block is a non-square blockwith respect to a signaled mode index, a transformation may be appliedthrough the following procedure. In other words, in an embodiment, withrespect to a non-square block having a width and a height which aredifferent from each other, an intra-prediction mode may be correctedthrough the following process.

-   -   A. If all the following conditions are satisfied, wideAngle may        be configured to be 1, and an intra-prediction mode        (predModeIntra) may be configured to be (predModeIntra (i.e., a        signaled mode index)+65).    -   a. If nTbW is larger than nTbH    -   b. If the intra-prediction mode is equal to or larger than 2    -   c. The intra-prediction mode is smaller than (whRatio>1) ?        (8+2*whRatio):8    -   B. Otherwise, if all the following conditions are satisfied,        wideAngle may be configured to be 1, and the intra-prediction        mode may be configured to be (predModeIntra−67).    -   a. If nTbH is larger than nTbW    -   b. If the intra-prediction mode is equal to or smaller than 66    -   c. The intra-prediction mode is larger than (whRatio>1) ?        (60−2*whRatio):60

In the above process, nTbW indicates the width of a current processingblock (a coding block or a transform block), and nTbH indicates theheight of a current processing block. whRatio is a variable (or aparameter) indicating a ratio between the width and the height. Forexample, whRatio may be configured by Min(Abs(Log 2(nTbW/nTbH), 2).A?B:C indicates a calculation for deriving a value of B if A is true,and deriving a value of C if A is false. The term wideAngle is avariable (or a parameter) indicating whether a wide angle is applied toa current block.

According to an embodiment of the present disclosure, theintra-prediction angle described with reference to Table 1 and Table 2may be used (or applied) according to the following method. For example,invAngle, which is an inverse angle parameter, may be derived on thebasis of the prediction angle. More specifically, invAngle may bederived by Round(256*32/intraPredAngle). In addition, theencoder/decoder may generate a reference sample array on the basis ofinvAngle. In addition, the encoder/decoder may performposition-dependent intra-prediction sample filtering on the basis ofinvAngle. In addition, the values of variables iIdx and iFact forspecifying the position of a reference sample (or a prediction sample)may be derived on the basis of an intra-prediction angle. In addition, aprediction sample may be derived on the basis of iIdx and iFact. Inaddition, a prediction sample may be derived on the basis of ref, iIdx,and iFact.

In an embodiment, the encoder/decoder may generate a prediction sampleon the basis of an intra-prediction angle by applying the methoddescribed below. If the intra-prediction mode is equal to or larger than34, the index variable iIdx and the multiplication factor iFact may bederived on the basis of Equation 1 below.

iIdx=((y+1+refIdx)intraPredAngle)>>5+refIdx

iFact=((y+I+refIdx)*intraPredAngle)&31  [Equation 1]

In Equation 1, refIdx may be an index indicating which reference sampleline is to be used for intra-prediction. In addition, a predictionsample may be derived by Equation 2 below.

predSamples[x][y]Clip1Y(((summation{i is from 0 to3}(fT[i]*ref[x+iIdx+i]))+32)>>)  [Equation 2]

In an embodiment, prediction sample deriving by Equation 2 may beperformed in a case where cIdx is 0 (i.e., in a case where a currentcomponent is the luma component). In Equation 2, fT may be aninterpolation filter coefficient. In addition, summation{i is from x toy} (eq(i)) indicates a calculation of summing up the values of eq(i)while changing i from x to y. In addition, Clip1Y calculation may havethe same meaning as Equation 3 below.

Clip1Y(x)=Clip3(0,(1<<BitDepthY)−1,x)

Clip1C(x)=Clip3(0,(1<<BitDepthC)−1,x)  [Equation 3]

Clip3(x, y, z) may be x if z<x, may be y if z>y, and otherwise, may bez.

In addition, a prediction sample may be derived according to thefollowing process.

-   -   If iFact is not 0, predSamples[x][y] indicating a prediction        sample value may be derived according to Equation 4 below.

predsamples[x][y]=((32−iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5  [Equation4]

-   -   Otherwise, predSamples[x][y] indicating a prediction sample        value may be derived according to Equation 5 below.

predsamples[x][y]=ref[x+iIdx+1]  [Equation 5]

In an embodiment, deriving by Equation 4 and Equation 5 may be performedin a case where cIdx is not 0 (i.e., in a case where a current componentis the chroma component). If the intra-prediction mode is smaller than34, the index variable iIdx and the multiplication factor iFact may bederived on the basis of Equation 6 below.

iIdx=((x+1+refIdx)*intraPredAngle)>>5

iFact=((x+1+refIdx)*intraPredAngle)&31  [Equation 6]

In Equation 6, refIdx may be an index indicating which reference sampleline is to be used for intra-prediction. In addition, a predictionsample may be derived as Equation 7 below.

predSamples[x][y]=Clip1Y(((summation{i is from 0 to3}(fT[i]*ref[y+iIdx+i]))+32)>>6)  [Equation 7]

In an embodiment, prediction sample deriving by Equation 7 may beperformed in a case where cIdx is 0 (i.e., in a case where a currentcomponent is the luma component). In Equation 2, fT may be aninterpolation filter coefficient. In addition, summation{i is from x toy} (eq(i)) indicates a calculation of summing up the values of eq(i)while changing i from x to y.

In addition, a prediction sample may be derived according to thefollowing process.

-   -   If iFact is not 0, predSamples[x][y] indicating a prediction        sample value may be derived according to Equation 8 below.

predSamples[x][y]((32−iFact)ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5  [Equation8]

-   -   Otherwise, predSamples[x][y] indicating a prediction sample        value may be derived according to Equation 9 below.

predSamples[x][y]=ref[y+iIdx+1]  [Equation 9]

In an embodiment, deriving by Equation 8 and Equation 9 may be performedin a case where cIdx is not 0 (i.e., in a case where a current componentis the chroma component).

In comparison between Table 1 and Table 2 described above,intra-prediction modes −14 to −11 and 77 to 80 are added to Table 2compared to Table 1. In addition, an intra-prediction angle value may bedifferently determined in Table 1 and Table 2 with respect to the sameintra-prediction mode. For example, referring to Table 1 and Table 2, anintra-prediction value is differently defined (or configured) forintra-prediction modes −10 to −4, 6 to 14, 22 to 30, 38 to 46, 54 to 62,and 70 to 76.

Table 3 below shows an example of a prediction sample deriving processshowing the embodiment described above in more detail.

TABLE 3 The values of the prediction samples predSamples[ x ][ y ], withx = 0..nTbW − 1, y = 0..nTbH − 1 are derived as follows: - IfpredModeIntra is greater than or equal to 34, the following orderedsteps apply: 1. The reference sample array ref[ x ] is specified asfollows: - The following applies: ref[ x ] = p[ −1 − refIdx + x ][ −1 −refIdx ], with x = 0..nTbW + refIdx (8-90) - If intraPredAngle is lessthan 0, the main reference sample array is extended as follows:  -  When( nTbH * intraPredAngle) >> 5 is less than −1, ref[ x ] = p[ −1 − refIdx][ −1 − refIdx + ( ( x * invAngle + 128) >> 8 ) ],  with x = −1..(nTbH * intraPredAngle ) >> 5 (8-91) ref[ ( ( nTbH * intraPredAngle ) >>5 ) − 1 ] = ref[ ( nTbH * intraPredAngle ) >> 5 ] (8-92) ref[ nTbW + 1 +refIdx ] ref[ nTbW + refIdx ] (8-93) - Otherwise, ref[ x ] = p[ −1 −refIdx + x ][ −1 − refIdx ], with x = nTbW + 1 + refIdx..refW + refIdx(8-94) ref[ −1 ] = ref[ 0 ] (8-95)  -  The additional samples ref[refW + refIdx +x ] with x = 1..( Max( 1, nTbW / nTbH ) * refIdx + 1) are derived as follows: ref[ refW + refIdx +x ] = p[ −1 + refW ][ −1 −refIdx ] (8-96) 2. The values of the prediction samples predSamples[ x][ y ], with x = 0..nTbW − 1, y = 0..nTbH − 1 are derived as follows: -The index variable iIdx and the multiplication factor iFact are derivedas follows: iIdx = ( ( y + 1 + refIdx ) * intraPredAngle ) >> 5 + refIdx(8-97) iFact = ( ( y + 1 + refIdx ) * intraPredAngle ) & 31 (8-98) - IfcIdx is equal to 0, the following applies:  -  The interpolation filtercoefficients fT[ j ] with j = 0..3 are derived as follows: fT[ j ] =filterFlag ? fG[ iFact ][ j ] : fC[ iFact ][ j ] (8-99)  -  The value ofthe prediction samples predSamples[ x ][ y ] is derived as follows:predSamples[ x ][ y ] = Clip1Y( ( ( Σ_(i=0) ³ fT[ i ] * ref[ x + iIdx +i ] ) + 32 ) >> 6 )  (8-100) - Otherwise (cIdx is not equal to 0),depending on the value of iFact, the following applies:  -  If iFact isnot equal to 0, the value of the prediction samples predSamples[ x ][ y] is derived as follows: predSamples[ x ][ y ] =  ( ( 32 − iFact ) *ref[ x + iIdx + 1 ] + iFact * ref[ x + iIdx + 2 ] + 16 ) >> 5  (8-101) -  Otherwise, the value of the prediction samples predSamples[ x ][ y ]is derived as follows: predSamples[ x ][ y ] = ref[ x + iIdx + 1 ] (8-102) - Otherwise (predModeIntra is less than 34), the followingordered steps apply:  1. The reference sample array ref[ x ] isspecified as follows: - The following applies:  ref[ x ] = p[ −1 −refIdx ][ −1 − refIdx + x ], with x = 0..nTbH + refIdx (8-103) - IfintraPredAngle is less than 0, the main reference sample array isextended as follows:  -  When ( nTbW * intraPredAngle ) >> 5 is lessthan −1,  ref[ x ] = p[ −1 − refIdx + ( ( x * invAngle + 128 ) >> 8 ) ][−1 − refIdx ], with x = −1..( nTbW * IntraPredAngle ) >> 5 (8-104)  ref[( ( nTbW * intraPredAngle ) >> 5 ) − 1 ] = ref[ ( nTbW * intraPredAngle) >> 5 ] (8-105)  ref[ nTbG + 1 + refIdx ] = ref[ nTbH + refIdx ](8-106) - Otherwise,  ref[ x ] = p[ −1 − refIdx ][ −1 − refIdx + x ],with x = nTbH + 1 + refIdx..refH + refIdx (8-107)  ref[ −1 ] = ref[ 0 ](8-108)  - The additional samples ref[ refH + refIdx +x ] with x = 1..(Max( 1, nTbW / nTbH ) * refIdx + 1) are derived as follows:  ref[ refH +refIdx +x ] = p[ −1 + refH ][ −1 − refIdx ] (8-109)  2. The values ofthe prediction samples predSamples[ x ][ y ], with x = 0..nTbW − 1, y =0..nTbH − 1 are derived as  follows: - The index variable iIdx and themultiplication factor iFact are derived as follows:  iIdx = ( ( x + 1 +refIdx ) * intraPredAngle ) >> 5 (8-110)  iFact = ( ( x + 1 + refIdx ) *intraPredAngle ) & 31 (8-111) - If cIdx is equal to 0, the followingapplies:  -  The interpolation filter coefficients fT[ j ] with j = 0..3are derived as follows:  fT[ j ] = filterFlag ? fG[ iFact ][ j ] : fC[iFact ][ j ] (8-112)  -  The value of the prediction samplespredSamples[ x ][ y ] is derived as follows:  predSamples[ x ][ y ] =Clip1Y( ( ( Σ_(i=0) ³ fT[ i ] * ref[ y + iIdx + i ] ) + 32 ) >> 6 )(8-113) - Otherwise (cIdx is not equal to 0), depending on the value ofiFact, the following applies:  - If iFact is not equal to 0, the valueof the prediction samples predSamples[ x ][ y ] is derived as follows: predSamples[ x ][ y ] = ( ( 32 − iFact ) * ref[ y + iIdx + 1 ] +iFact * ref[ y + iIdx + 2 ] + 16 ) >> 5 (8-114)  - Otherwise, the valueof the prediction samples predSamples[ x ][ y ] is derived as follows: predSamples[ x ][ y ] = ref[ y + iIdx + 1 ] (8-115)

In Table 3, p[x][y] may indicate a peripheral reference sample. Inaddition, the top-left coordinates of a current block may be defined as(0,0). Referring to Table 3, the encoder/decoder may derive a predictionsample of a current block according to the process shown in Table 3. Theencoder/decoder may apply different deriving methods according to theintra-prediction mode of a current block. Specifically, theencoder/decoder may derive a reference sample array (this may bereferred to as a main reference sample) on the basis of a predictionmode of a current block and may derive a prediction sample of thecurrent block on the basis of a derived reference sample. The methoddescribed above with reference to Equation 1 to Equation 9 may beapplied.

Hereinafter, a filter flag (filterFlag) configuring method according toan embodiment of the present disclosure will be described. A filter flag(or a filtering flag) according to various embodiments (including allthe above and below embodiments) of the present disclosure may be aparameter (or a variable, or a syntax element) indicating whether afilter (or filtering) is applied. Alternatively, the filter flag may bea parameter for determining the type of a filter. For example, thefilter flag may be a value for determining a filter coefficient. Forexample, the encoder/decoder may determine filter coefficient fTdescribed above with reference to Table 1 to Table 3, on the basis ofthe filter flag. In addition, the filter may be at least one of asmoothing filter, an interpolation filter, a DCT filter, and/or aGaussian filter.

According to an embodiment of the present disclosure, the filter flagmay be determined on the basis of the intra-prediction mode.Alternatively, in an embodiment, the filter flag may be determined onthe basis of the intra-prediction mode and a threshold variable (orparameter). The threshold variable may indicate a parameter which ispreviously defined (or configured) for comparison with a minimum valueof a difference between a current intra-prediction mode and ahorizontal/vertical mode. In the present detailed description, thethreshold variable may be expressed by a threshold, a filteringthreshold, an intra horizontal vertical distance threshold,intraHorVerDistThres, etc., and the present disclosure is not limited tosuch names. In addition, in the present detailed description, theminimum value between the difference between the currentintra-prediction mode and the horizontal mode, and the differencebetween the current intra-prediction mode and the vertical mode may becalled a vertical horizontal distance minimum value, minDistVerHor,etc., and the present disclosure is not limited to such names.

According to an embodiment of the present disclosure, if theintra-prediction mode is a directional mode, the filter flag may bedetermined on the basis of the intra-prediction mode and a predefinedthreshold variable. The intra-prediction mode that is a directional modemay have a prediction mode index (or a prediction mode number), thevalue of which is not a value corresponding to the planar mode and theDC mode. For example, the intra-prediction mode corresponding to theplanar mode may be 0 and the intra-prediction mode corresponding to theDC mode may be 1. In addition, the filter flag may be determined on thebasis of the difference in the indexes between the intra-prediction modeand the vertical mode, or the difference in the indexes between theintra-prediction mode and the horizontal mode. For example, the verticalmode index and the horizontal mode index may be 50 and 18, respectively(see FIG. 6 described above). For example, the filter flag may bedetermined by comparing, with the threshold variable, the difference inthe indexes between the intra-prediction mode and the vertical mode, orthe difference in the indexes between the intra-prediction mode and thehorizontal mode. For example, the filter flag may be determined on thebasis of whether a result value of Equation 10 below is true or false.

Min(Abs(predModeIntra−vertical mode index),Abs(predModeIntra−horizontalmode index))>intraHorVerDistThres  [Equation 10]

If a minimum value of the difference between the currentintra-prediction mode and the horizontal/vertical mode is larger thanthe threshold variable intraHorVerDistThres, the result value ofEquation 10 may be true, and otherwise, the result value may be false.In an embodiment, the encoder/decoder may configure 1 as the filter flagif the condition of Equation 10 is true. If the condition of Equation 10is false, and another condition is also false, the encoder/decoder mayconfigure 0 as the filter flag. For example, another condition maycorrespond to whether the intra-prediction mode corresponds to a wideangle, and another condition may be determined on the basis of a wideangle variable (wideAngle) value described above. An intra-predictionmode may mean an intra-prediction mode which is transformed from asignaled mode index intra-prediction mode if a current block is anon-square block, as described above with reference to Table 1 and Table2. That is, the intra-prediction mode may indicate the intra-predictionmode described above with reference to Table 1 and Table 2.Alternatively, the intra-prediction mode may be a value corresponding toan actual prediction angle index shown in FIG. 6.

In addition, according to an embodiment, the threshold variable may bedetermined on the basis of the width and the height of a current block.For example, the current block may be a transform block. For example,the threshold variable may be defined according to an nTbS value. nTbSindicates a variable indicating the size of a transform block. That is,nTbS may be determined on the basis of the width and the height of acurrent block (a transform block). For example, nTbS may be defined asEquation 11 below.

(Log 2(nTbW)+Log 2(nTbH))>>1  [Equation 11]

In Equation 11, nTbW and nTbH indicate the width and the height of acurrent block, respectively.

According to an embodiment of the present disclosure, the filter flagvariable may be derived according to the following process.

-   -   A. If one or more of the following conditions are true, the        filter flag may be configured to be 0.    -   a. If the intra-prediction mode is identical to INTRA_DC    -   b. If the intra-prediction mode is identical to INTRA_PLANAR,        and nTbW*nTbH is equal to or smaller than 32    -   c. If cIdx is not 0    -   B. Otherwise, if the intra-prediction mode is identical to        INTRA_PLANAR, and nTbW*nTbH is larger than 32, the filter flag        may be configured to be 1.    -   C. Otherwise, the following stages may be applied.    -   a. The variable minDistVerHor is configured by        Min(Abs(predModeIntra−50), Abs(predModeIntra−18)).    -   b. intraHorVerDistThres[nTbS] is defined as a table.    -   c. The filter flag may be derived according to the following        method.    -   1) If minDistVerHor is larger than intraHorVerDistThres[nTbS] or        a wideAngle value is 1, the filter flag is configured to be 1,        and otherwise, the filter flag is configured to be 0.

Referring to the filter flag variable deriving process described above,if the intra-prediction mode corresponds to the DC mode, the filter flagmay be configured to be 0. In addition, if the intra-prediction modecorresponds to the planar mode, the filter flag may be configured on thebasis of a block size. In addition, if the color component of a currentblock is the chroma component, the filter flag may be configured to be0. The color component may be indicated by cIdx, cIdx 0 may indicate aluma component, and a value other than cIdx 0 may indicate the chromacomponent. If the intra-prediction mode is not the planar mode or the DCmode, minDistVerHor may be configured by Min(Abs(predModeIntra−50),Abs(predModeIntra−18)). In addition, the threshold variable(intraHorVerDistThres) may be previously defined and the thresholdvariable may be defined according to nTbS. If a value of the variableminDistVerHor is larger than the threshold variable, the encoder/decodermay configure 1 as the filter flag. Alternatively, if a wide anglevariable (wideAngle) value is 1, the encoder/decoder may configure 1 asthe filter flag. In addition, if a minDistVerHor value is not largerthan the threshold variable, and a wide angle variable (wideAngle) valueis 0, the encoder/decoder may configure 0 as the filter flag.

According to another embodiment of the present disclosure, the filterflag variable may be derived according to the following process.

-   -   A. If the intra-prediction mode is identical to INTRA_ANGULAR2,        INTRA_ANGULAR34, or INTRA_ANGULAR66, or refIdx is not 0, the        filter flag is configured to be 0.    -   B. Otherwise, the following stages may be applied.    -   a. The variable minDistVerHor is configured by        Min(Abs(predModeIntra−50), Abs(predModeIntra−18)).    -   b. The variable intraHorVerDistThres[nTbS] is defined as a        table.    -   c. The filter flag may be derived according to the following        method.    -   1) If minDistVerHor is larger than intraHorVerDistThres[nTbS] or        a wideAngle value is 1, the filter flag is configured to be 1,        and otherwise, the filter flag is configured to be 0.

Referring to the filter flag variable deriving process described above,if the intra-prediction mode has a predefined particular value, thefilter flag may be configured to be 0. For example, the predefinedparticular value may include three diagonal angles. For example, theparticular value may be defined to be the indexes 2, 34, and 66 on thebasis of the intra-prediction mode described with reference to FIG. 6.

In addition, in a case where the encoder/decoder performs anintra-prediction by using a reference sample (or a reference sampleline), which is not adjacent to a current block, among multiplereference sample lines, the encoder/decoder may configure 0 as thefilter flag. The encoder/decoder may express, using refIdx, whether ornot a reference sample which is not adjacent to a current block is used.In an embodiment of the present disclosure, the filter flag may bedetermined on the basis of the intra-prediction mode and the thresholdvariable. In addition, the threshold variable may be determined on thebasis of the width and the height of a current block. In addition, theintra-prediction mode may indicate the intra-prediction mode of Table 1and Table 2 described above, as described in the aforementionedembodiment. Alternatively, the intra-prediction mode may be a valuecorresponding to an actual prediction angle index shown in FIG. 6.

Referring to the filter flag variable deriving process described above,if the intra-prediction mode corresponds to the prediction index 2, 34,or 66, the encoder/decoder may configure 0 as the filter flag, and ifrefIdx does not indicate a reference sample line which is the mostadjacent to a current block (i.e., if refIdx is not 0), theencoder/decoder may configure 0 as the filter flag. Otherwise,minDistVerHor may be configured by Min(Abs(predModeIntra−50),Abs(predModeIntra−18)). In addition, the threshold variable(intraHorVerDistThres) may be previously defined and the thresholdvariable may be defined according to nTbS. If a value of the variableminDistVerHor is larger than the threshold variable, the encoder/decodermay configure 1 as the filter flag. Alternatively, if a wide anglevariable (wideAngle) value is 1 (i.e., if the intra-prediction modecorresponds to a wide angle prediction), the encoder/decoder mayconfigure 1 as the filter flag. Otherwise (i.e., if the filter flag hasnot been determined according to the above conditions), theencoder/decoder may configure 0 as the filter flag.

FIG. 10 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied. According to an embodiment of thepresent disclosure, the threshold variable in the filter flag variablederiving process described above may be defined as shown in FIG. 10. Inaddition, the threshold variable may be defined according to an nTbSvalue. The vartiable nTbS indicates the size of a transform block andnTbS may be determined on the basis of the width and the height of acurrent block (a transform block). For example, nTbS may be defined asEquation 11 described above.

In an embodiment, the value of the threshold variable may be previouslydefined according to an nTbS value as shown in FIG. 10. The value may bedefined to include a case where nTbS is 2. The threshold variable may bedefined for a case where nTbS is 2 or more. A threshold variable valuefor each nTbS may be previously defined as shown in FIG. 10. Inaddition, nTbS 6 may be a value associated with a maximum transformsize. For example, the maximum transform size may be 2{circumflex over( )}6=64.

FIG. 11 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied. According to an embodiment of thepresent disclosure, the threshold variable in the filter flag variablederiving process described above may be defined as shown in FIG. 11. Inaddition, referring to FIG. 11, the threshold variable may be defined asdescribed with reference to FIG. 10. In an embodiment, the value of thethreshold variable may be previously defined according to an nTbS valueas shown in FIG. 10. The value may be defined to include a case wherenTbS is 2. The threshold variable may be defined for a case where nTbSis 2 or more. A threshold variable value for each nTbS may be previouslydefined as shown in FIG. 10. Referring to FIG. 11, if nTbS is equal toor larger than a particular value, the threshold variable may be 0, andfor example, the particular value may be 5.

In an embodiment, referring to FIG. 10 and FIG. 11, when nTbS is large,the threshold variable value may tend to become smaller. In addition,when a block size is large, nTbS may tend to become larger. In addition,as a threshold variable value becomes smaller, the filter flag mayrelatively often be configured to be 1. Therefore, when a block size islarge, the filter flag may relatively often be configured to be 1. Inaddition, as described above, nTbS may be defined as Equation 11 andnTbS values for 4×4, 8×4, and 4×8 blocks may all be 2. If a thresholdvariable value is 0 (i.e., the threshold variable value is defined to be0 according to an nTbs value), a minDistVerHor value may always belarger than the threshold variable except for the case where theintra-prediction mode is the vertical mode or the horizontal mode. Thefilter flag may be configured to be 1. As described above, minDistVerHoris a variable indicating a minimum value of the difference between theintra-prediction mode and the horizontal/vertical mode.

According to an embodiment of the present disclosure, there may be acase where a minDistVerHor value is smaller than or equal to thethreshold variable with respect to all the intra-prediction modes. Thatis, the encoder/decoder may define a threshold to be a value larger thanminDistVerHor values of all the intra-prediction modes. In other words,the encoder/decoder may configure a threshold defined regardless of theintra-prediction mode to be not satisfied, according to the size of atransform block. Accordingly, the encoder/decoder may determine whetherto apply filtering to a transform block having a particular sizeregardless of the intra-prediction mode. In an embodiment, a thresholdvariable value larger than minDistVerHor values of all intra-predictionmodes having a wide angle variable value of 0 (i.e., wide angleprediction is not applied) may be defined. For example, referring toFIG. 10 and FIG. 11, a threshold variable value may be 20 when nTbS is2. In this case, the minDistVerHor values of all the intra-predictionmodes having a wide angle variable value of 0 may be equal to or smallerthan the threshold variable.

As in the above embodiment, if a threshold value larger thanminDistVerHor values of all the intra-prediction modes is defined, theremay occur a problem in that unnecessary comparison operations areperformed. Hereinafter, a method for solving this problem will bedescribed.

According to an embodiment, if a block size satisfies a particularcondition, the encoder/decoder may configure the filter flag on thebasis of the intra-prediction mode and the threshold variable. Forexample, a particular condition for a block size may correspond to acase where the block size is larger than a predefined particular size.For example, the particular condition for a block size may correspond toa condition for an nTbS value. For example, a block size is greater thanor equal to 8×8, the encoder/decoder may configure the filter flag onthe basis of the intra-prediction mode and the threshold variable.Alternatively, if nTbS defined by Equation 11 is larger than 2, or isequal to or larger than 3, the encoder/decoder may configure the filterflag on the basis of the intra-prediction mode and the thresholdvariable. If a condition based on the intra-prediction mode and thethreshold variable is satisfied, the encoder/decoder may configure 1 asthe filter flag.

In addition, in an embodiment, if a block size satisfies a particularcondition, the encoder/decoder may configure 0 as the filter flag. Forexample, a particular condition for a block size may correspond to acase where the block size is smaller than a predefined particular size.For example, the particular condition for a block size may correspond toa condition for an nTbS value. For example, if a block size is smallerthan 8×8, the encoder/decoder may configure 0 as the filter flag.Alternatively, if nTbS defined by Equation 11 is 2, is smaller than orequal to 2, or is smaller than 3, the encoder/decoder may configure 0 asthe filter flag. In an embodiment, the filter flag may be derivedaccording to the following process.

-   -   If minDistVerHor is larger than intraHorVerDistThres[nTbS] (if        nTbS is larger than 2), or wideAngle is 1, the filter flag may        be configured to be 1.    -   Otherwise, the filter flag may be configured to be 0.

In the process described above, if minDistVerHor is larger than thethreshold variable when nTbS is larger than 2, the encoder/decoder mayconfigure 1 as the filter flag, or if a wideAngle value is 1, theencoder/decoder may configure 1 as the filter flag value. Otherwise, thefilter flag may be configured to be 0. The process may be applied bybeing combined with an embodiment relating to the determination of thefilter flag in a case where the intra-prediction mode is a particularmode (e.g., a DC, planar, diagonal modes, etc.) and an embodimentrelating to the determination of the filter flag according to theposition of a reference sample line, described above. For example, theencoder/decoder may configure the filter flag as below.

-   -   A. If an intra-prediction mode is identical to INTRA_ANGULAR2,        INTRA_ANGULAR34, or INTRA_ANGULAR66, or refIdx is not 0, the        filter flag is configured to be 0.    -   B. Otherwise, the following stages may be applied.    -   a. The variable minDistVerHor is configured by        Min(Abs(predModeIntra−50), Abs(predModeIntra−18)).    -   b. The variable intraHorVerDistThres[nTbS] is defined as a        table.    -   c. The filter flag may be derived according to the following        method.    -   ca. If minDistVerHor is larger than intraHorVerDistThres[nTbS]        of a case where nTbS is larger than 2, or wideAngle is 1, the        filter flag is configured to be 1.    -   cb. Otherwise, the filter flag is configured to be 0.

The filter flag is derived as in the above embodiment. Accordingly, anoperation (or a calculation) of comparing minDistVerHor with thethreshold variable in a case where nTbS is 2 may be omitted, andcompression efficiency may be enhanced.

In addition, in an embodiment, the filtering deriving embodimentdescribed above may be applied to both the luma component and the chromacomponent. In another embodiment, the encoder/decoder may apply theabove filtering deriving embodiment to the luma component, and mayperform an operation of comparing minDistVerHor and the thresholdvariable, with respect to the chroma component when a block sizecondition different from that of the luma component is satisfied. Forexample, an operation of comparing minDistVerHor and the thresholdvariable may be performed with respect to the luma component when nTbSis larger than a, and may be performed with respect to the chromacomponent when nTbS is larger than b. For example, a may be smaller thanb (a<b). For example, a may be 2, and b may be 3. In addition, the abovemethod may be applied only when the threshold variable is definedindividually for each of the luma component and the chroma component. Inaddition, for example, whether the threshold variable is definedindividually for each of the luma component and the chroma component maybe determined with respect to a color format.

As described above, if a threshold value is defined to be larger thanminDistVerHor values of all the intra-prediction modes, there may occura problem in that unnecessary comparison operations are performed.Hereinafter, another method for solving this problem will be described.

If a block size satisfies a particular condition, the encoder/decodermay configure the filter flag on the basis of the intra-prediction modeand the threshold variable. According to an embodiment of the presentdisclosure, if a block size satisfies a particular condition, theencoder/decoder may configure 0 as the filter flag. For example, aparticular condition for a block size may correspond to a case where theblock size is smaller than a predefined particular size. For example,the particular condition for a block size may correspond to a conditionfor an nTbS value. For example, if a block size is smaller than 8×8, theencoder/decoder may configure 0 as the filter flag. Alternatively, ifnTbS defined by Equation 11 is 2, is smaller than or equal to 2, or issmaller than 3, the encoder/decoder may configure 0 as the filter flag.In an embodiment, the filter flag may be derived according to thefollowing process.

-   -   If nTbS is 2, the filter flag may be configured to be 0.    -   Otherwise, if minDistVerHor is larger than        intraHorVerDistThres[nTbS], or wideAngle is 1, the filter flag        may be configured to be 1.    -   Otherwise, the filter flag may be configured to be 0.

In the process described above, the encoder/decoder may configure thefilter flag to be 0 if nTbS is 2. Otherwise, the encoder/decoder mayconfigure 1 as the filter flag if minDistVerHor is larger than thethreshold variable, or may configure 1 as the filter flag if wideAngleis 1. Otherwise, the encoder/decoder may configure 0 as the filter flag.The process may be applied by being combined with an embodiment relatingto the determination of the filter flag in a case where theintra-prediction mode is a particular mode (e.g., a DC, planar, diagonalmodes, etc.) and an embodiment relating to the determination of thefilter flag according to the position of a reference sample line,described above. For example, the encoder/decoder may configure thefilter flag as below.

-   -   A. If an intra-prediction mode is identical to INTRA_ANGULAR2,        INTRA_ANGULAR34, or INTRA_ANGULAR66, or refIdx is not 0, the        filter flag is configured to be 0.    -   B. Otherwise, the following stages may be applied.    -   a. The variable minDistVerHor is configured by        Min(Abs(predModeIntra−50), Abs(predModeIntra−18)).    -   b. The variable intraHorVerDistThres[nTbS] is defined as a        table.    -   c. The filter flag may be derived according to the following        method.    -   ca. If minDistVerHor is larger than intraHorVerDistThres[nTbS],        or wideAngle is 1, the filter flag is configured to be 1.    -   cb. Otherwise, the filter flag is configured to be 0.

In yet another embodiment, the encoder/decoder may configure the filterflag as below.

-   -   A. If an intra-prediction mode is identical to INTRA_ANGULAR2,        INTRA_ANGULAR34, or INTRA_ANGULAR66, or refIdx is not 0, the        filter flag is configured to be 0.    -   B. Otherwise, the following stages may be applied.

a. The variable minDistVerHor is configured byMin(Abs(predModeIntra−50), Abs(predModeIntra−18)).

-   -   b. The variable intraHorVerDistThres[nTbS] is defined as a        table.    -   c. The filter flag may be derived according to the following        method.    -   ca. If nTbS is 2, the filter flag may be configured to be 0.    -   cb. Otherwise, if minDistVerHor is larger than        intraHorVerDistThres[nTbS], or wideAngle is 1, the filter flag        is configured to be 1.    -   cc. Otherwise, the filter flag is configured to be 0.

The filter flag is derived as in the above embodiment. Accordingly, anoperation (or a calculation) of comparing minDistVerHor with thethreshold variable if nTbS is 2 may be omitted, and compressionefficiency may be enhanced.

In an embodiment, the filtering deriving embodiment described above maybe applied to both the luma component and the chroma component. Inanother embodiment, the encoder/decoder may apply the above filteringderiving embodiment to the luma component, and may configure the filterflag to be 0 with respect to the chroma component when a block sizecondition different from that of the luma component is satisfied. Forexample, the encoder/decoder may configure the filter flag to be 0 withrespect to the luma component if nTbS is smaller than or equal to a, andmay configure the filter flag to be 0 with respect to the chromacomponent if nTbS is smaller than or equal to b. For example, a may besmaller than b (a<b). For example, a may be 2, and b may be 3. Inaddition, the above method may be applied only when the thresholdvariable is defined individually for each of the luma component and thechroma component. In addition, for example, whether the thresholdvariable is defined individually for each of the luma component and thechroma component may be determined with respect to a color format.

FIG. 12 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied. According to an embodiment of thepresent disclosure, as described in the above filter flag variablederiving process, the encoder/decoder may perform a filter flagconfiguration based on minDistVerHor and the threshold variable on thebasis of a block size, or may not perform the same. Therefore, thetables described above with reference to FIG. 10 and FIG. 11 may bemodified as illustrated in FIG. 12. For example, a threshold variablevalue corresponding to the block sizes 4×4, 8×4, and 4×8 may not exist.Alternatively, a threshold variable value corresponding to the area of ablock, which is equal to or smaller than 32, may not exist. Referring toFIG. 12, a threshold variable value corresponding to an nTbS value whichis 2 may not exist. In addition, as described above, nTbS may be definedas Equation 11. According to an embodiment of the present disclosure,therefore, a space (or a memory) in which threshold data is stored maybe saved.

FIG. 13 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied. According to an embodiment of thepresent disclosure, as described in the above filter flag variablederiving process, the encoder/decoder may apply a filter flagconfiguration regardless of whether a wide angle is applied. Forexample, regardless of whether the intra-prediction mode corresponds toa wide angle, the encoder/decoder may configure the filter flag to be 1if a condition of comparing the threshold variable and a minDistVerHorvalue based on the intra-prediction mode is satisfied, and otherwise,the encoder/decoder may configure the filter flag to be 0. The value ofthe threshold variable may be defined to be different from the thresholdvariable described above with reference to FIG. 10 to FIG. 12.

Referring to FIG. 13, if minDistVerHor is larger than the thresholdvariable, the encoder/decoder may configure 1 as the filter flag, andotherwise, the encoder/decoder may configure 0 as the filter flag. Inaddition, this configuration may be applied by being combined with anembodiment relating to the determination of the filter flag in a casewhere the intra-prediction mode is a particular mode (e.g., a DC,planar, diagonal modes, etc.) and an embodiment relating to thedetermination of the filter flag according to the position of areference sample line, described above. For example, the encoder/decodermay configure the filter flag as below.

-   -   A. If an intra-prediction mode is identical to INTRA_ANGULAR2,        INTRA_ANGULAR34, or INTRA_ANGULAR66, or refIdx is not 0, the        filter flag is configured to be 0.    -   B. Otherwise, the following stages may be applied.    -   a. The variable minDistVerHor is configured by        Min(Abs(predModeIntra−50), Abs(predModeIntra−18)).    -   b. The variable intraHorVerDistThres[nTbS] is defined as a        table.    -   c. The filter flag may be derived according to the following        method.    -   ca. If minDistVerHor is larger than intraHorVerDistThres[nTbS],        the filter flag is configured to be 1.    -   cb. Otherwise, the filter flag is configured to be 0.

According to an embodiment, a threshold variable value for 4×4, 8×4, and4×8 blocks may be smaller than those described with reference to FIG. 10and FIG. 11. For example, a threshold variable value for 4×4, 8×4, and4×8 blocks may be 16. In this case, in all the cases where theintra-prediction mode is equal to or larger than 67, and equal to orsmaller than −1, minDistVerHor may be derived to be larger than thethreshold variable. Accordingly, the encoder/decoder may configure 1 asthe filter flag. In addition, in an embodiment, as described above, nTbSmay be defined as Equation 11. Therefore, an nTbS value for 4×4, 8×4,and 4×8 blocks may be determined to be 2. In addition, a thresholdvariable value corresponding to nTbS of 3 or more may be smaller than avalue corresponding to nTbS of 2. Therefore, if nTbS is equal to orlarger than 3, in all the cases where the intra-prediction mode islarger than or equal to 67 and is smaller than or equal to −1,minDistVerHor may be derived to be a value larger than the thresholdvariable.

Referring to FIG. 13, a case where a threshold variable value isconfigured to be 16 when nTbS is 2 is illustrated as an example. Asanother embodiment, a threshold variable value may be differentlyconfigured according to an intra-prediction mode value. For example, ifan nTbS value is 2, a threshold variable value may be differentlyconfigured according to an intra-prediction mode value. For example, athreshold variable value may be differently configured between a casewhere an intra-prediction mode value is equal to or larger than apredefined particular value, and a case where the intra-prediction modevalue is smaller than the particular value. For example, if anintra-prediction mode value is a negative number, a threshold variablevalue for nTbS of 2 may be configured to be 18. That is, a thresholdvariable value may be differently configured between a case where anintra-prediction mode value is equal to or larger than a particularvalue which is 2 or more (or 0 or more), and a case where theintra-prediction mode value is smaller than the particular value. Forexample, the respective threshold variable values may be 16 and 18. Forexample, the method in which the threshold variable is differentlyconfigured according to the intra-prediction mode may be applied whennTbS is 2.

FIG. 14 is a diagram illustrating a filter flag configuring methodaccording to an embodiment of the present disclosure. As describedabove, when the filter flag is configured, the encoder/decoder maydetermine the filter flag on the basis of the intra-prediction mode andthe threshold variable if a block size satisfies a predefined particularcondition, and otherwise, the encoder/decoder may determine the filterflag regardless of the threshold variable. If the embodiments describedabove with reference to FIG. 10 to FIG. 13 are applied, theencoder/decoder may configure the filter flag for 4×4, 8×4, and 4×8blocks (i.e., blocks having an nTbS value of 2) according to a blocksize condition. Therefore, as illustrated in FIG. 14, the filter flagmay not be determined on the basis of the threshold variable withrespect to 4×4, 8×4, and 4×8 blocks, and the filter flag may beconfigured on the basis of the threshold variable with respect to theblocks having sizes different therefrom.

FIG. 15 is a diagram illustrating an example of a threshold variableaccording to the size of a transform block, as an embodiment to whichthe present disclosure is applied. According to an embodiment of thepresent disclosure, the threshold variable for a block (i.e., arectangular block or a non-square block) other than a square may bedefined separately from the threshold variable for a square block. Forexample, the threshold variable for a 4×8 or 8×4 block may be defined tobe different from the threshold variable for a 4×4 block or thethreshold variable for a 8×8 block. In an embodiment, the thresholdvariable for a 4×8 or 8×4 block may be defined to be different from thethreshold variable for a 4×4 block or the threshold variable for a 8×8block and the threshold variable for blocks having sizes differenttherefrom may be defined without distinction between square blocks andnon-square blocks. Referring to FIG. 15, the threshold variable for a4×8 or 8×4 block may be defined to be different from those of blockshaving sizes different therefrom.

As described above, according to Equation 11, nTbS values for N×N, 2N×N,and N×2N blocks may be identically determined. In addition, in a casewhere a threshold variable table as in FIG. 10 and FIG. 11 describedabove is used, if nTbS is 2, the encoder/decoder may always configurethe filter flag to be 0 with respect to the intra-prediction mode whichdoes not correspond to a wide angle. Therefore, in a case where nTbS is2, the encoder/decoder may configure different filtering conditions bydistinguishing between a case of the size 4×4 and the other cases.According to an embodiment, A, B, and C may be configured to bedifferent from each other in FIG. 15. According to another embodiment, Band C may be defined to be the same value in FIG. 15. Therefore, thefilter flag of a case of 8×4 and 4×8 blocks may be determined accordingto the same condition as that of a 8×8 block.

FIG. 16 is a diagram illustrating a position-dependent prediction samplefiltering method according to an embodiment of the present disclosure.In the present detailed description, position-dependent predictionsample filtering may be called a position-dependent intra-predictioncombination (PDPC). In addition, according to an embodiment of thepresent disclosure, the PDPC may be a method for combining anintra-prediction and reference samples. The combining method may bebased on a position in a block. For example, the encoder/decoder maygenerate a prediction sample according to a linear combination betweenan intra-prediction and reference samples.

According to an embodiment of the present disclosure, the PDPC may be atechnology for combining a filtered sample and an unfiltered sample togenerate a prediction sample. A method of combining a filtered sampleand an unfiltered sample may be determined on the basis of the positionsin a block. The combining method may include a weighted value used whena filtered sample and an unfiltered sample are weighted-summed.

In addition, according to an embodiment of the present disclosure, theencoder/decoder may apply the PDPC to a pre-configured intra-predictionmode. For example, the pre-configuration intra-prediction mode mayinclude a planar mode, a DC mode, a vertical mode, a horizontal mode, adiagonal mode, a mode adjacent to the diagonal mode, etc. In addition,the diagonal mode may be a diagonal mode corresponding to the index 2 or66 in FIG. 6 described above. If the PDPC is applied, a predictionsample may be derived using Equation 12 below.

pred(xy)=(wL=R _(−1,y) +wT×R _(x,−1) −wTL×R_(−1,−1)+(64−wL−wT+wTL)=pred(x,y)+±32)>>6  [Equation 12]

In Equation 12, the notation (x, y) may mean a set of coordinates of aprediction sample. In addition, (x, y) may be coordinates when thetop-left coordinates of a current block are put as (0,0). In addition,in Equation 12, R may indicate a reference sample. R_{x,−1} and R_{−1,y}may be reference samples positioned above and at the left of aprediction sample to be calculated, respectively, and R_{−1,−1} may be areference sample positioned at the top-left corner of a current block.In addition, the term ‘pred’ may be a prediction sample. Referring toEquation 12, a prediction sample and a reference sample are linearlycombined. A weighted value may be expressed by wL, wT, −wTL,(64−wL−wT+wTL), etc. The weighted value may be configured as aposition-dependent value. In addition, the weighted values may bedetermined by different methods according to a prediction mode. Forexample, a weighted value for the DC mode may be determined by Equation13 below.

wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=(wL>>4)+(wT>>4),

with shift=(log 2(width)−2+log 2(height)−2+2)>>2  [Equation 13]

In addition, in an embodiment, with respect to the planar mode, wTL maybe equal to 0 (wTL=0). In addition, with respect to the horizontal mode,wTL may be equal to wT (wTL=wT). In addition, with respect to thevertical mode, wTL may be equal to wL (wTL=wL). Other weighted valuesmay be determined to be the same as the values for the DC mode. Inaddition, in an embodiment, a weighted value for a top-right diagonalmode (index 66) and for a bottom-left diagonal mode (index 2) may bedetermined using Equation 14 below.

wT=16>>((y′<<1)>>shift),wL=16>>((x<1)>>shift),wTL=0  [Equation 14]

In Equation 14, for a calculation of pred(x′,y′), x may equal to x′+y′+1(x=x′+y′+1), and y may equal to x′+y′+1 (y=x′+y′+1). In addition,weighted values for a mode adjacent to a prediction mode having theindex 2 may be determined using Equation 15 below.

wT=32>>((y′<1)>>shift),wL=0,wTL=0  [Equation 15]

In addition, weighted values for a mode adjacent to a prediction modehaving the index 66 may be determined using Equation 16 below.

wL=32>>((x′<<1)>>shift),wT=0,wTL=0  [Equation 16]

FIG. 17 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. As described above with reference to FIG. 16, theencoder/decoder may apply the PDPC to a pre-configured intra-predictionmode. Referring to FIG. 17, the intra-prediction mode having indexesindicated by dotted lines may be included in the pre-configuredintra-prediction mode. Therefore, referring to FIG. 17, if theintra-prediction mode is 18 or 50, is equal to or smaller than 10, or islarger than or equal to 58, the encoder/decoder may apply the PDPC. Inaddition, if the intra-prediction mode corresponds to the planar mode orthe DC mode, the encoder/decoder may apply the PDPC. In addition, if theintra-prediction mode corresponds to a wide angle, the encoder/decodermay apply the PDPC. In addition, the encoder/decoder may apply the PDPConly when refIdx indicating the position of a reference sample line is apre-configured value. The intra-prediction mode used herein may indicatethe index of a prediction mode used for actual prediction. FIG. 17 maybe a diagram illustrated on the basis of the modes described above withreference to FIG. 6. Referring to FIG. 17, if the intra-prediction modeis 0, 1, 18, or 50, is smaller than or equal to 10, or is larger than orequal to 58, the PDPC may be applied.

FIG. 18 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. As described with reference to FIG. 16, the encoder/decodermay apply the PDPC to a pre-configured intra-prediction mode. Referringto FIG. 18, the intra-prediction mode having indexes indicated by dottedlines may be included in the pre-configured intra-prediction mode.Therefore, referring to FIG. 18, if the intra-prediction mode is 18 or50, or is equal to or smaller than 10 or is larger than or equal to 58,the encoder/decoder may apply the PDPC. In addition, if theintra-prediction mode corresponds to the planar mode or the DC mode, theencoder/decoder may apply the PDPC. In addition, if the intra-predictionmode corresponds to a wide angle, the encoder/decoder may apply thePDPC. In addition, the encoder/decoder may apply the PDPC when refIdxindicating the position of a reference sample line is a pre-configuredparticular value. The intra-prediction mode used herein may indicate theindex of a prediction mode used for actual prediction. FIG. 18 may be adiagram illustrated on the basis of the modes described above withreference to FIG. 6. Referring to FIG. 18, if the intra-prediction modeis 0, 1, 18, or 50, or is equal to or smaller than 10 or is larger thanor equal to 58, the encoder/decoder may apply the PDPC. When the PDPC isapplied, additional calculations are required. Therefore, if the PDPC isapplied to many modes, complexity may be increased. As in the embodimentproposed in the present disclosure, complexity may be alleviated andcompression efficiency may be increased by limiting a prediction mode towhich the PDPC is applied.

FIG. 19 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. Referring to FIG. 19, the number and positions of modesadjacent to prediction modes having the indexes 66 and 2, to which thePDPC is applied, may be defined to be symmetrical at both sides of eachof the indexes 66 and 2. For example, the encoder/decoder may apply thePDPC to a prediction mode having an intra-prediction mode value from(66−n) to (66+n). Alternatively, the encoder/decoder may apply the PDPCto a prediction mode having an intra-prediction mode value from (2−2−n)to (2+n). n may be a positive number. Referring to FIG. 19, theencoder/decoder may apply the PDPC when the intra-prediction mode isequal to or larger than 58 and is equal to or smaller than 74. Inaddition, the encoder/decoder may apply the PDPC when theintra-prediction mode is equal to or smaller than 10 and is equal to orlarger than −8. Accordingly, the PDPC may not be applied when theintra-prediction mode is equal to or larger than 75 or is equal to orsmaller than −9.

Therefore, if one of the following conditions is satisfied, theencoder/decoder may apply the PDPC.

-   -   If the intra-prediction mode is identical to INTRA_PLANAR    -   If the intra-prediction mode is identical to INTRA_DC    -   If the intra-prediction mode is identical to INTRA_ANGULAR18    -   If the intra-prediction mode is identical to INTRA_ANGULAR50    -   If the intra-prediction mode is equal to or smaller than        INTRA_ANGULAR10, and if the intra-prediction mode is larger than        or is equal to INTRA_ANGULAR-8    -   If the intra-prediction mode is equal to or larger than        INTRA_ANGULAR58, and if the intra-prediction mode is smaller        than or is equal to INTRA_ANGULAR74

As an embodiment, in the embodiment of FIG. 19 described above to theembodiment of FIG. 22 described below, the encoder/decoder may apply thePDPC even when the intra-prediction mode is the planar, DC, vertical, orhorizontal mode.

FIG. 20 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. Referring to FIG. 20, a PDPC-applied angle part amongdiagonal mode-adjacent prediction angles within the part correspondingto wide angles may include the indexes described above with reference toFIG. 18. Therefore, the encoder/decoder may not apply the PDPC when theindex of the intra-prediction mode is larger than or equal to 77 and issmaller than or equal to −11. Specifically, if one of the followingconditions is satisfied, the encoder/decoder may apply the PDPC.

-   -   If the intra-prediction mode is identical to INTRA_PLANAR    -   If the intra-prediction mode is identical to INTRA_DC    -   If the intra-prediction mode is identical to INTRA_ANGULAR18    -   If the intra-prediction mode is identical to INTRA_ANGULAR50    -   If the intra-prediction mode is equal to or smaller than        INTRA_ANGULAR10, and if the intra-prediction mode is larger than        or is equal to INTRA_ANGULAR−10    -   If the intra-prediction mode is equal to or larger than        INTRA_ANGULAR58, and if the intra-prediction mode is smaller        than or is equal to INTRA_ANGULAR76

FIG. 21 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. When an angle adjacent to a PDPC-applied diagonal modedescribed with reference to FIG. 18 described above is maintained, theencoder/decoder may apply the PDPC according to an embodiment asillustrated in FIG. 21. Specifically, in a case of FIG. 18, the PDPC isapplied to a prediction angle of 13 or more. Therefore, even in a caseof the angle modes as illustrated in FIG. 6, the encoder/decoder mayapply the PDPC to a prediction angle of 13 or more. Referring to Table 1and Table 2 described above, when the intra-prediction mode is largerthan or equal to 59, or is smaller than or equal to 9, a predictionangle may be 13 or more.

Therefore, according to an embodiment of the present disclosure, asillustrated in FIG. 21, the encoder/decoder may apply the PDPC when theintra-prediction mode is larger than or equal to 59 or is smaller thanor equal to 9. The encoder/decoder may not apply the PDPC when theintra-prediction mode is equal to 58 or 10. Specifically, if one of thefollowing conditions is satisfied, the encoder/decoder may apply thePDPC.

-   -   If the intra-prediction mode is identical to INTRA_PLANAR    -   If the intra-prediction mode is identical to INTRA_DC    -   If the intra-prediction mode is identical to INTRA_ANGULAR18    -   If the intra-prediction mode is identical to INTRA_ANGULAR50    -   If the intra-prediction mode is equal to or smaller than        INTRA_ANGULAR9    -   If the intra-prediction mode is equal to or larger than        INTRA_ANGULAR59

FIG. 22 is a diagram illustrating a position-dependent prediction samplefiltering condition according to an embodiment of the presentdisclosure. The encoder/decoder may determine whether to apply the PDPCby combining the embodiments of FIG. 21 and FIG. 19 or combining theembodiments of FIG. 21 and FIG. 20. According to an embodiment of thepresent disclosure, smaller complexity may show compared to theembodiment described above with reference to FIG. 17 or FIG. 18.Referring to FIG. 22, the encoder/decoder may apply the PDPC to aprediction mode which has a prediction angle of 13 or more and ispositioned to be symmetrical with respect to a diagonal mode. That is,the encoder/decoder may apply the PDPC when the intra-prediction mode isequal to or larger than 59 and is equal to or smaller than 73. Inaddition, the encoder/decoder may apply the PDPC when theintra-prediction mode is equal to or smaller than 9 and is equal to orlarger than −7. Accordingly, the encoder/decoder may not apply the PDPCwhen the intra-prediction mode is equal to 58 or is larger than or equalto 74. In addition, the encoder/decoder may not apply the PDPC when theintra-prediction mode is equal to 10 or is smaller than or equal to −8.Specifically, if one of the following conditions is satisfied, theencoder/decoder may apply the PDPC.

-   -   If the intra-prediction mode is identical to INTRA_PLANAR    -   If the intra-prediction mode is identical to INTRA_DC    -   If the intra-prediction mode is identical to INTRA_ANGULAR18    -   If the intra-prediction mode is identical to INTRA_ANGULAR50    -   If the intra-prediction mode is equal to or smaller than        INTRA_ANGULAR9, and if the intra-prediction mode is larger than        or is equal to INTRA_ANGULAR−7    -   If the intra-prediction mode is equal to or larger than        INTRA_ANGULAR59, and if the intra-prediction mode is smaller        than or is equal to INTRA_ANGULAR73

According to another embodiment of the present disclosure, theencoder/decoder may apply the PDPC while maintaining a range applied asa wide angle in FIG. 18 with a prediction angle of 13 or more. That is,the encoder/decoder may apply the PDPC when the intra-prediction mode isequal to or larger than 59 and is equal to or smaller than 76. Inaddition, the encoder/decoder may apply the PDPC when theintra-prediction mode is equal to or smaller than 9 and is equal to orlarger than −10. Accordingly, the encoder/decoder may not apply the PDPCwhen the intra-prediction mode is equal to 58 or is larger than or equalto 77. In addition, the encoder/decoder may not apply the PDPC when theintra-prediction mode is equal to 10 or is smaller than or equal to −11.Specifically, if one of the following conditions is satisfied, theencoder/decoder may apply the PDPC.

-   -   If the intra-prediction mode is identical to INTRA_PLANAR    -   If the intra-prediction mode is identical to INTRA_DC    -   If the intra-prediction mode is identical to INTRA_ANGULAR18    -   If the intra-prediction mode is identical to INTRA_ANGULAR50    -   If the intra-prediction mode is equal to or smaller than        INTRA_ANGULAR9, and if the intra-prediction mode is larger than        or is equal to INTRA_ANGULAR−10    -   If the intra-prediction mode is equal to or larger than        INTRA_ANGULAR59, and if the intra-prediction mode is smaller        than or is equal to INTRA_ANGULAR76

FIG. 23 is a flowchart illustrating an example of an intra-predictionfiltering method according to an embodiment of the present disclosure.The PDPC and filtering described above with reference to FIG. 10 to FIG.15 may have similar effects. In the present detailed description,filtering described above with reference to FIG. 10 to FIG. 15 may meanfiltering determined by the filter flag. Therefore, according to anembodiment of the present disclosure, if filtering by the filter flag isapplied or if particular filtering determined by the filter flag isapplied, the encoder/decoder may not apply the PDPC. Alternatively, ifthe PDPC is applied, the encoder/decoder may not apply filtering by thefilter flag or may not apply particular filtering determined by thefilter flag. As an embodiment, if the intra-prediction mode correspondsto a wide angle, the filter flag may be configured to be apre-configured value. Therefore, if the intra-prediction modecorresponds to a wide angle, the encoder/decoder may not apply the PDPC.That is, according to an embodiment of the present disclosure, theencoder/decoder may determine whether to apply the PDPC, on the basis ofthe filter flag. The filter flag may be the filter flag described abovewith reference to FIG. 10 to FIG. 15.

Referring to FIG. 23, the encoder/decoder may determine and identify afilter flag on the basis of an intra-prediction mode or the width andthe height of a block and may perform filtering if configured conditionsare satisfied (S2301). The encoder/decoder may identify whether theintra-prediction mode corresponds to a wide angle (S2302). If theintra-prediction mode corresponds to a wide angle, a prediction samplemay be generated without performing a PDPC (S2304). If theintra-prediction mode does not correspond to a wide angle, theencoder/decoder may identify whether a condition to perform a PDPC issatisfied, and if the condition to perform a PDPC is satisfied, theencoder/decoder may perform a PDPC and then generate a prediction sample(S2303 and S2304).

FIG. 24 is a diagram of an example of an intra sub-partitions codingmethod according to an embodiment of the present disclosure. In thepresent disclosure, the intra sub-partitions coding mode may be calledISP, an intra sub partition mode, etc. In addition, in the presentdisclosure, sub-partitioning may be called partitioning, sub-splitting,splitting, etc. In addition, in the present disclosure, a sub partitionmay indicate a sub-partitioned block, and may be called a sub block, asplit block, a sub-split block, etc.

According to an embodiment of the present disclosure, ISP may correspondto a method for splitting a coding unit (a current block) into subblocks (sub partitions) to perform prediction-coding. In addition,according to an embodiment of the present disclosure, if ISP isperformed, the encoder/decoder may perform vertical or horizontalsplitting. Referring to FIG. 24, an example of vertical or horizontalsplitting is illustrated. If a coding unit is horizontally split, thewidth of a sub partition or a sub block may be the same as that of thecoding unit before the partitioning. In addition, if a coding unit isvertically split, the height of a sub partition may be the same as thatof the coding unit before the partitioning.

In addition, according to an embodiment of the present disclosure,sub-partitioning may be performed according to a pre-configured numberand shape. In addition, the pre-configured number and shape may bedetermined on the basis of a block size. For example, theencoder/decoder may restrict the use of ISP for a pre-configured blocksize. For example, the encoder/decoder may restrict the use of ISP for ablock size smaller than a predefined threshold. For example, theencoder/decoder may restrict the use of ISP for a 4×4 block. Inaddition, the encoder/decoder may perform sub-partitioning on the basisof a pre-configured number according to a pre-configured block size. Forexample, the encoder/decoder may perform sub-partitioning on a blockhaving a size smaller than a particular threshold, to have N1 subpartitions and may perform sub-partitioning on a block having a sizeequal to or larger than the threshold to have N2 sub partitions. Inaddition, N2 may be larger than N1. For example, the threshold may be8×8. In addition, N1 may be 2. In addition, N2 may be 4. Therefore,according to a combination with the above embodiment, ISP may not beperformed for a 4×4 block, sub-partitioning may be performed for 4×8 and8×4 blocks to each have two sub partitions, and sub-partitioning may beperformed for the remaining blocks to each have four sub partitions.

Referring to FIG. 24, FIG. 24(a) illustrates an example ofsub-partitioning allowing two sub partitions, and FIG. 24(b) illustratesan example of sub-partitioning allowing four sub partitions. Accordingto an embodiment of the present disclosure, if sub-partitioning ishorizontally performed to generate N blocks, a value obtained bydividing the height of a coding unit by N may be the same as the heightof a sub partition. In addition, if a sub-partitioning is verticallyperformed to generate N blocks, a value obtained by dividing the widthof a coding unit by N may be the same as the width of a sub partition.

According to an embodiment of the present disclosure, the decoder mayentropy-decode, inverse-quantize, and inverse-transform coefficientssent from the encoder in each sub partition in ISP, so as to generate aresidual signal. An intra-prediction is performed for a sub-partition,and the residual signal is added to a prediction signal, therebygenerating a reconstruction signal. Therefore, the reconstruction signalof the sub partition may be used to generate a prediction signal ofanother sub partition later, and this procedure may be repeated. Throughthis repeated procedure, a more accurate prediction signal is generatedso that a coding efficiency may be enhanced.

According to an embodiment, when ISP is used, there may be multipleprocessing orders. Processing orders may be orders for performingprediction/reconstruction on multiple sub partitions. In an embodiment,the processing orders may include a normal order and a reversed order.In the normal order, a firstly processed sub partition may be a subpartition including a top-left sample of a CU. In addition, in a case ofhorizontal sub-partitioning, the encoder/decoder may performprediction/reconstruction downwardly therefrom and in a case of verticalsub-partitioning, the encoder/decoder may perform the same in the rightdirection therefrom. In addition, in the reversed order, a firstlyprocessed sub partition may be a sub partition including a bottom-leftsample of a CU, and a prediction/reconstruction may be performedupwardly therefrom. In addition, a firstly processed sub partition maybe a sub partition including the top-left sample of a CU, and aprediction/reconstruction may be performed in the left directiontherefrom.

In addition, in an embodiment, whether ISP is available may be differentaccording to whether multiple reference lines are used in anintra-prediction, or according to which line is used among multiplereference lines. For example, if a line which has an index other than 0among multiple reference lines is used, the encoder/decoder maydetermine not to use ISP. In addition, a block size of a coefficientgroup for which entropy-coding of a sub partition is performed may vary.For example, the encoder/decoder may configure a coefficient group tohave 16 samples. For example, a relation between a block size/acoefficient group size may be as follows: (1×N, N>16/1×16), (N×1,N>16/16×1), (2×N, N>8/2×8), (N×2, N>8/8×2), (all the other possibleM×N/4×4 cases).

In addition, in an embodiment, if ISP is used, at least one subpartition among sub partitions may have a non-zero coded block flag(CBF). Therefore, if the number of sub partitions is n, (n−1) number ofsub partitions which are firstly processed have a zero CBF, theencoder/decoder may determine that an n-th sub partition has a non-zeroCBF. In the present disclosure, a cu_cbf value of the non-zero CBF maybe 1. In addition, in the present disclosure, a cu_cbf value of the zeroCBF may be 0. In addition, cu_cbf may be a value indicating whether asyntax related to transformation exists. Furthermore, the syntax relatedto transformation may have a transform tree syntax structure. Inaddition, the syntax related to transformation may be a syntax signaledthrough a transform tree (transform_tree). In addition, if cu_cbf is 0,there may be no syntax related to transformation. In addition, if cu_cbfis 1, there may exist a syntax related to transformation. If cu_cbf is1, the encoder/decoder may perform a coding process for a transformtree. If there is no cu_cbf, a cu_cbf value may be determined on thebasis of cu_skip_flag. For example, if cu_skip_flag is 1, cu_cbf may be0. In addition, if cu_skip_flag is 0, cu_cbf may be 1.

As described above, cu_skip_flag may indicate whether a skip mode isused, and if the skip mode is applied, there may be no residual signal.That is, the skip mode may indicate a mode of directly performingreconstruction without adding a residual signal to a prediction signal.Therefore, if cu_skip_flag is 1, there may be no syntax related totransformation.

According to an embodiment of the present disclosure, whenintra-prediction is not used, the decoder may parse cu_cbf. In the casethat cu_skip_flag is 0, the decoder may parse cu_cbf. If merge flag is0, the decoder may parse cu_cbf. The merge flag indicates a syntaxelement indicating whether a merge mode is applied. The conditionsdescribed above may be combined and then performed. For example, if thecurrent prediction mode is not MODE_INTRA and merge flag is 0, thedecoder may parse cu_cbf. Alternatively, if the current prediction modeis MODE_INTER and merge flag is 0, the decoder may parse cu_cbf. Thereason is that if an inter prediction is applied rather than a mergemode, the skip mode may be used, or may not be used.

In an embodiment, if ISP is used, the encoder/decoder may use a limitedintra-prediction mode. For example, if ISP is used, the encoder maysignal a prediction mode used for intra-prediction of a current block inan MPM list, to the decoder. Moreover, if ISP is used, theencoder/decoder may not use the DC mode. In addition, if ISP is used,the encoder/decoder may use different signaling or different MPM listconfiguring methods according to which partitioning is used amonghorizontal/vertical sub-partitioning. In a case of ISP horizontalsplitting, the encoder/decoder may prioritize the horizontal intra mode.In contrast, in a case of ISP vertical splitting, the encoder/decodermay prioritize the vertical mode.

Table 4 below shows an example of a coding unit syntax structureaccording to an embodiment of the present disclosure.

TABLE 4 Descriptor coding_unit( x0, y0, cbWidth, cbHeight, treeType ) {if( tile_group_type != I ) { if( treeType != DUAL_TREE_CHROMA )cu_skip_flag[ x0 ][y0 ] ae(v) if( cu_skip_flag[ x0 ][ y0 ] = = 0 }pred_mode_flag ae(v) } if( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA ) { if(pcm_enabled_flag && cbWidth >= MinIpcmCbSizeY && cbWidth <=MaxIpcmCbSizeY && cbHeight >= MinIpcmCbSizeY && cbHeight <=MaxIpcmCbSizeY ) pcm_flag[ x0 ][ y0 ] ae(v) if( pcm_flag[ x0 ][ y0 ] ) {while( !byte_aligned( ) ) pcm_alignment_zero_bit f(1) pcm_sample(cbWidth, cbHeight, treeType) } else { if( treeType = = SINGLE_TREE ||treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 )intra_luma_ref_idx[ x0 ][ y0 ] ae(v) if (intra_luma_ref_idx[ x0 ][ y0 ]= = 0 && ( cbWidth <= MaxTbSizeY || cbHeight <= MaxTbSizeY ) && (cbWidth * cbHeight > MinTbSizeY * MinTbSizeY ))intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v) if(intra_subpartitions_mode_flag[ x0 ][ y0 ] = = I && cbWidth <= MaxTbSizcY&& cbHeight <= MaxTbSizeY ) intra_subpartitions_split_flag[ x0 ][ y0 ]ae(v) if (intra_luma_ref_idx[ x0 ][y0 ] = = 0 &&intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 ) intra_luma_mpm_flag[x0 ][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ] )intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) else intra_luma_mpm_remainder[ x0][ y0 ] ae(v) } if( treeType = = SINGLE_TREE || treeType = =DUAL_TREE_CHROMA ) intra_chroma_pred_mode[ x0 ][ y0 ] ae(v) } } else if(treeType != DUAL_TREE_CHROMA ) { /* MODE_INTER */ } if( !pcm_flag[ x0 ][y0 ] ) { if( CuPredMode[ x0 ][ y0 ] != MODE_INTRA && cu_skip_flag[ x0 ][y0 ] = = 0 ) cu_cbf ae(v) if( cu_cbf ) transform_tree( x0, y0, cbWidth,cbHeight, treeType ) } }

Referring to Table 4, an intra-prediction and ISP-related syntax may besignaled through a coding unit syntax. In Table 4, an interprediction-related syntax may be omitted from the coding unit syntaxstructure. In Table 4, intra_subpartitions_mode_flag may be signaling(or a syntax element) indicating whether to use (or apply) ISP. Ifintra_subpartitions_mode_flag is 1, this may indicate that ISP is used.That is, if intra_subpartitions_mode_flag is 1, this may indicate that acurrent block is split into sub partitions so as to be transformed andreconstructed.

Referring to Table 4, in an embodiment of the present disclosure, acondition to parse intra_subpartitions_mode_flag may be previouslydefined. Alternatively, a condition enabling the use of ISP may bepreviously defined. For example, as described above, a conditionrelating to which reference line is used among multiple reference linesmay be previously defined. Referring to Table 4, intra_luma_ref_idx is asyntax element indicating which reference sample line is used amongmultiple reference lines. There may be a condition related to a blocksize. For example, a condition for a case where the width of a currentblock is smaller or equal to MaxTbSizeY, or the height thereof issmaller or equal to MaxTbSizeY may be defined. The variable (orparameter) MaxTbSizeY indicates the maximum size of a transform block.The width and the height of a current block may be expressed as cbWidthand cbHeight, respectively.

Referring to Table 4, the decoder may parseintra_subpartitions_mode_flag in a case of(cbWidth<=MaxTbSizeY∥cbHeight<=MaxTbSizeY). In addition, the decoder mayparse intra_subpartitions_mode_flag in a case of(cbWidth*cbHeight>MinTbSizeY*MinTbSizeY). According to an embodiment,MaxTbSizeY and MinTbSizeY may be variables (or parameters) indicatingthe maximum and minimum transformable sizes, respectively. In anembodiment, according to a combination between the above conditions, if(cbWidth<=MaxTbSizeY∥cbHeight<=MaxTbSizeY) &&(cbWidth*cbHeight>MinTbSizeY*MinTbSizeY) is satisfied, the decoder mayparse intra_subpartitions_mode_flag. If there is nointra_subpartitions_mode_flag, the decoder may determine (or infer) thatISP is not used. That is, if there is no intra_subpartitions_mode_flag,the decoder may infer 0 as the value thereof. MaxTbSizeY may be a valuerelated to the maximum transformable size. MinTbSizeY may be a valuerelated to the minimum transformable size.

According to an embodiment of the present disclosure,intra_subpartitions_split_flag may be a signaling (or a syntax element)indicating whether sub-partitioning is performed horizontally orvertically. In addition, intra_subpartitions_split_flag may be parsed ifintra_subpartitions_mode_flag is 1. In addition,intra_subpartitions_split_flag may be parsed if a pre-configured blocksize condition is satisfied. For example, the pre-configured block sizeconfiguration may correspond to (cbWidth<=MaxTbSizeY &&cbHeight<=MaxTbSizeY). In addition, if there is nointra_subpartitions_split_flag, the decoder may infer 0 as the valuethereof. In addition, intra_subpartitions_split_flag of 0 may indicatehorizontal splitting, and intra_subpartitions_split_flag of 1 mayindicate vertical splitting.

According to an embodiment of the present disclosure, theencoder/decoder may determine whether to perform sub-partitioning andthe split direction of the sub-partitioning on the basis of an ISP modeflag (i.e., intra_subpartitions_mode_flag) and an ISP split flag (i.e.,intra_subpartitions_split_flag). That is, as described above withreference to Table 4, intra_subpartitions_split_flag may exist. Inaddition, the split direction may be determined on the basis ofintra_subpartitions_split_flag. In addition, whether to performsplitting and the split direction may be determined on the basis ofintra_subpartitions_split_flag and intra_subpartitions_mode_flag. Table5 below is a table showing an example of an ISP split type.

TABLE 5 IntraSubPartitionsSplitType Name of IntraSubPartitionsSplitType0 ISP_NO_SPLIT 1 ISP_HOR_SPLIT 2 ISP_VER_SPLIT

Referring to Table 5, the encoder/decoder may determine not to split acurrent coding block in a case where intra_subpartitions_mode_flag is 0.In addition, an IntraSubPartitionsSplitType value may be 0 and a splittype may be expressed as ISP_NO_SPLIT. The IntraSubPartitionsSplitTypeindicates a variable (or parameter) indicating a sub partition splittype. The encoder/decoder may determine to split a current coding blockin a case where intra_subpartitions_mode_flag is 1. Also, theencoder/decoder may determine whether the splitting is horizontalsplitting or vertical splitting on the basis ofintra_subpartitions_split_flag. Referring to Table 5, anIntraSubPartitionsSplitType value may be configured by(1+intra_subpartitions_split_flag). If IntraSubPartitionsSplitType is 1,horizontal splitting may be performed, and the type of splitting may beexpressed as ISP_HOR_SPLIT. If IntraSubPartitionsSplitType is 2,vertical splitting may be performed, and the type of splitting may beexpressed as ISP_VER_SPLIT.

However, in the embodiments of Table 4 and Table 5 described above,there may be a case where only one of the width or the height of acurrent coding block is smaller than or equal to MaxTbSizeY, and theother one is larger than MaxTbSizeY. Even in this case, the decoder mayparse intra_subpartitions_mode_flag. That is, even in this case, ISP maybe used. However, there may be no intra_subpartitions_split_flag becausea condition to parse intra_subpartitions_split_flag is not satisfied. Inthis case, intra_subpartitions_split_flag may be inferred to be apre-configured value. Therefore, an ISP split type may be fixed to behorizontal splitting or vertical splitting. Ifintra_subpartitions_split_flag is inferred to be 0 as in the embodimentdescribed above, the ISP split type may be fixed to be the horizontaldirection. In this case, there occurs a problem in which transformationmay not be easy when the width of a current coding block is larger thanMaxTbSizeY. Hereinafter an embodiment for solving this problem will bedescribed.

According to an embodiment of the present disclosure, if there is nointra_subpartitions_split_flag, the encoder/decoder may infer the valuethereof on the basis of a block size. Alternatively, when there is nointra_subpartitions_split_flag, the value thereof may be inferred on thebasis of MaxTbSizeY and the width or the height of a current codingblock. Alternatively, when there is no intra_subpartitions_split_flag,the encoder/decoder may make an inference on the basis of whether thewidth or the height of a current coding block is larger than or issmaller than MaxTbSizeY. Alternatively, when there is nointra_subpartitions_split_flag, the encoder/decoder may make aninference on the basis of which one of the width or the height of acurrent coding block is larger than MaxTbSizeY. Alternatively, whenthere is no intra_subpartitions_split_flag, the encoder/decoder may makean inference to transform a sub partition in both the horizontaldirection and the vertical direction. Alternatively, when there is nointra_subpartitions_split_flag, the encoder/decoder may make aninference such that both the width and the height of a sub partition aresmaller than or are equal to MaxTbSizeY.

In an embodiment, if cbHeight (i.e., the height of a current codingblock) is larger than MaxTbSizeY (cbHeight>MaxTbSizeY), theencoder/decoder may perform splitting such that the height of a subpartition is smaller than or equal to MaxTbSizeY. If cbHeight is largerthan MaxTbSizeY (cbHeight>MaxTbSizeY), the encoder/decoder may inferhorizontal splitting. If cbWidth (i.e., the width of a current codingblock) is larger than MaxTbSizeY (cbWidth>MaxTbSizeY), theencoder/decoder may perform splitting such that the width of a subpartition is smaller than or equal to MaxTbSizeY. If cbWidth is largerthan MaxTbSizeY (cbHeight>MaxTbSizeY), the encoder/decoder may infervertical splitting.

In an embodiment of the present disclosure, the encoder/decoder mayinfer intra_subpartitions_split_flag on the basis of the width or theheight of a current coding block according to the following methods.

For example, if cbHeight is larger than MaxTbSizeY(cbHeight>MaxTbSizeY), intra_subpartitions_split_flag may be inferred tobe 0. Otherwise, if cbWidth is larger than MaxTbSizeY(cbWidth>MaxTbSizeY), intra_subpartitions_split_flag may be inferred tobe 1. Otherwise, intra_subpartitions_split_flag may be inferred to be 0.

Alternatively, for example, if cbHeight is larger than MaxTbSizeY(cbHeight>MaxTbSizeY), intra_subpartitions_split_flag may be inferred tobe 1. Otherwise, intra_subpartitions_split_flag may be inferred to be 0.

Alternatively, for example, if cbWidth is larger than MaxTbSizeY(cbWidth>MaxTbSizeY), intra_subpartitions_split_flag may be inferred tobe 1. Otherwise, intra_subpartitions_split_flag may be inferred to be 0.

Alternatively, for example, if cbWidth is smaller than or equal toMaxTbSizeY (cbWidth<=MaxTbSizeY) and cbHeight is smaller than or equalto MaxTbSizeY (cbHeight<=MaxTbSizeY), intra_subpartitions_split_flag maybe inferred to be 0. Otherwise, if cbHeight is larger than MaxTbSizeY(cbHeight>MaxTbSizeY), intra_subpartitions_split_flag may be inferred tobe 1. Otherwise, intra_subpartitions_split_flag may be inferred to be 0.

In the above embodiments, intra_subpartitions_split_flag of 0 indicateshorizontal splitting, intra_subpartitions_split_flag of 1 indicatesvertical splitting, and a case where ISP_HOR_SPLIT and ISP_VER_SPLIT are1 and 2, respectively has been described. However, even if horizontalityand verticality are expressed by opposite values, embodiments may beapplied by the same method described above.

Table 6 below shows an example of a coding unit syntax structureaccording to an embodiment of the present disclosure.

TABLE 6 Descriptor coding_unit( x0, y0, cbWidth, cbHeight, treeType ) {if( tile_group_type != I ) { if( treeType != DUAL_TREE_CHROMA )cu_skip_flag[ x0 ][ y0 ] ae(v) if( cu_skip_flag[ x0 ][ y0 ] = = 0 )pred_mode_flag ae(v) } if( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA ) { if(pcm_enabled_flag && cbWidth >= MinIpcmCbSizeY && cbWidth <=MaxIpcmCbSizeY && cbHeight >= MinIpcmCbSizeY && cbHeight <=MaxIpcmCbSizeY ) pcm_flag[ x0 ][ y0 ] ae(v) if( pcm_flag[ x0 ][ y0 ] ) {while( !byte_aligned( ) ) pcm_alignment_zero_bit f(1) pcm_sample(cbWidth, cbHeight, treeType) } else { if( treeType = = SINGLE_TREE ||treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 )intra_luma_ref_idx[ x0][ y0 ] ae(v) if (intra_luma_ref_idx[ x0 ][ y0 ] == 0 && ( cbWidth <= MaxTbSizeY && cbHeight <= MaxTbSizeY ) && (cbWidth * cbHeight > MinTbSizeY * MinTbSizeY ))intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v) if(intra_subpartitions_mode flag[ x0 ][ y0 ] = = 1 )intra_subpartitions_split flag[ x0 ][ y0 ] ae(v) if(intra_luma_ref_idx[x0 ][ y0 ] = = 0 && intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 )intra_luma_mpm_flag[ x0][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ]) intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) else intra_luma_mpm_remainder[ x0][ y0 ] ae(v) } if( treeType = = SINGLE_TREE || treeType = =DUAL_TREE_CHROMA ) intra_chroma_pred_mode[ x0 ][ y0 ] ae(v) } } else if(treeType != DUAL_TREE_CHROMA ) { /* MODE_INTER */ } if( !pcm_flag[ x0 ][y0 ] ) { if( CuPredMode[ x0 ][ y0 ] != MODE_INTRA && cu_skip_flag[ x0 ][y0 ] = = 0 ) cn_cbf ae(v) if( cu_cbf ) transform_tree( x0, y0, cbWidth,cbHeight, treeType ) } }

Table 6 shows an example of a syntax structure for solving the problemsdescribed with reference to Table 4 and Table 5. According to anembodiment, a condition for parsing intra_subpartitions_mode_flag and acondition for parsing intra_subpartitions_split_flag may be defined tobe the same. Alternatively, conditions related to a block size amongconditions for parsing intra_subpartitions_mode_flag and conditions forparsing intra_subpartitions_split_flag may be defined to be the same.Alternatively, an intra_subpartitions_mode_flag parsing condition may beincluded in an intra_subpartitions_split_flag parsing condition.Alternatively, a condition related to a block size amongintra_subpartitions_mode_flag parsing conditions may be included in acondition related to a block size among intra_subpartitions_split_flagparsing conditions. Alternatively, if intra_subpartitions_mode_flag is1, the decoder may parse intra_subpartitions_split_flag regardless ofwhether other conditions are satisfied.

Referring to Table 6, if both the width and the height of a currentcoding block are smaller than or equal to MaxTbSizeY, ISP may beapplicable. That is, if both the width and the height of a currentcoding block are smaller than or equal to MaxTbSizeY, the decoder mayparse intra_subpartitions_mode_flag. In addition, ifintra_subpartitions_mode_flag is 1, the decoder may parseintra_subpartitions_split_flag without identifying whether otherconditions are satisfied.

In another embodiment, even if both the width and the height of acurrent coding block are larger than MaxTbSizeY (i.e.,cbWidth>MaxTbSizeY && cbHeight>MaxTbSizeY), parsing ofintra_subpartitions_mode_flag may be possible. In this case, both thewidth and the height of a current coding block are larger thanMaxTbSizeY, and thus horizontal splitting and/or vertical splitting mayboth be applicable. The encoder/decoder may infer a split type on thebasis of another condition without signaling for a split type.

Table 7 below shows an example of a coding unit syntax structureaccording to an embodiment of the present disclosure.

TABLE 7 Descriptor coding_unit( x0, y0, cbWidth, cbHeight treeType ) {if( tile_group_type != I ) { if( treeType != DUAL_TREE_CHROMA )cu_skip_flag[ x0 ][ y0 ] ae(v) if( cu_skip_flag[ x0 ][ y0 ] = = 0 )pred_mode_flag ae(v) } if( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA ) { if(pcm_enabled_flag && cbWidth >= MinIpcmCbSizeY && cbWidth <=MaxIpcmCbSizeY && cbHeight >= MinIpcmCbSizeY && cbHeight <=MaxIpcmCbSizeY ) pcm_flag[ x0 ][ y0 ] ae(v) if( pcm_flag[ x0 ][ y0 ] ) {while( !byte_aligned( ) ) pcm_alignment_zero_bit f(1) pcm_sample(cbWidth, cbHeight, treeType) } else { if( treeType = = SINGLE_TREE ||treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 )intra_luma_ref_idx[ x0 ][ y0 ] ae(v) if (intra_luma_ref_idx[ x0 ][ y0 ]= = 0 && ( cbWidth <= N*MaxTbSizeY || cbHeight <= N*MaxTbSizeY ) && (cbWidth * cbHeight > MinTbSizeY * MinTbSizeY })intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v) if(intra_subpartitions_mode_flag[ x0 [ y0 ] = = I && cbWidth <= MaxTbSizeY&& cbHeight <= MaxTbSizeY ) intra_subpartitions_split_flag[ x0 ][ y0 ]ae(v) if (intra _luma_ref_idx[ x0 ][ y0 ] = = 0 &&intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 ) intra_luma_mpm_flag[x0 ][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ] )intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) else intra_luma_mpm_remainder[ x0][ y0 ] ae(v) } if( treeType = = SINGLE_TREE || treeType = =DUAL_TREE_CHROMA ) intra_chroma_pred_mode[ x0 ][ y0 ] ae(v) } } else if(treeType != DUAL_TREE_CHROMA ) { /* MODE_INTER */ } if( !pcm_flag[ x0 ][y0 ] ) { if( CuPredMode[ x0 ][ y0 ] != MODE_INTRA && cu_skip_flag[ x0 ][y0 ] = = 0 ) cu_cbf ae(v) if( cu_cbf ) transform_tree( x0, y0, cbWidth,cbHeight, treeType ) } }

As described above, N sub partitions may be generated in ISP.Transformation is performed in a unit of sub partitions in ISP.Therefore, according to an embodiment of the present disclosure, even ina case where the width and the height of a current coding block arelarger than MaxTbSizeY, if the width and the height of a sub partitionare smaller than or equal to MaxTbSizeY, it may be possible to use ISP.Therefore, referring to FIG. 21, if the width or the height of a currentcoding block is smaller than or equal to N*MaxTbSizeY, the decoder mayparse intra_subpartitions_mode_flag. Alternatively, if the width or theheight of a current coding block is smaller than or equal toN*MaxTbSizeY, the encoder/decoder may use ISP. N may have a randominteger value.

Even in this particular case, there may occur a problem as describedwith reference to Table 4 and Table 5. To solve this problem, theembodiment described with reference to Table 6 may be applied. Forexample, if the width or the height of a current coding block is largerthan N*MaxTbSizeY, the encoder/decoder may determine (or infer) both thewidth and the height of a sub partition to be smaller than or equal toMaxTbSizeY. Alternatively, if the width or the height of a currentcoding block is larger than N*MaxTbSizeY, it may be determined (orinferred) that vertical splitting and horizontal splitting areperformed, respectively.

According to an embodiment of the present disclosure, if ISP is used, atransformation kernel may be determined on the basis of theintra-prediction mode (predModeIntra). Alternatively, if ISP is used, ahorizontal transform type (trTypeHor) or a vertical transform type(trTypeVer) indicating a transformation kernel may be determined on thebasis of the intra-prediction mode (predModeIntra). In addition, theencoder/decoder may use the DC mode for ISP. In this case, atransformation kernel of the DC mode may be configured to be the same asthat of the planar mode. For example, in a case where the planar mode isused when ISP is used, if the horizontal transformation type and thevertical transformation type are 1 and 1, respectively, even when the DCmode is used, the horizontal transform type and the vertical transformtype may be determined to be 1 and 1, respectively. In anotherembodiment, the encoder/decoder may determine 0 and 0 as the horizontaltransform type and the vertical transform type, respectively, in a casewhere the DC mode is used when ISP is used.

FIG. 25 is a diagram illustrating a coding unit and a transform unitaccording to an embodiment of the present disclosure. According to anembodiment of the present disclosure, there may be a unit (i.e., a unitof transformation processing) of blocks in which a transformation isperformed. According to an embodiment, the unit of blocks in which atransformation is performed may be equal to or smaller than a codingunit or a unit of blocks in which a prediction is performed. In thepresent detailed description, the unit of blocks in which atransformation is performed may be called a transform unit (TU). Inaddition, the size of a transform unit may be limited by a maximumtransform size. For example, the width or the height of a transform unitmay be limited by a maximum transform size. More specifically, the widthor the height of a transform unit may be determined to be equal to orsmaller than a maximum transform size. In addition, the maximumtransform size may vary according to the luma component and the chromacomponent.

In an embodiment, if a coding unit (CU) or a prediction unit (PU) islarger than the maximum transform size, the CU or the PU may be splitinto multiple TUs. If there is a TU, among the multiple TUs, which isgreater than the maximum transform size, the TU greater than the maximumtransform size may be split and thus multiple TUs may be generated. Allmultiple TUs generated through this procedure may be equal to or smallerthan the maximum transform size. In the present disclosure, beinggreater than the maximum transform size may mean that the width or theheight is larger than the maximum transform size, and being equal to orsmaller than the maximum transform size may mean that both the width andthe height are smaller than or equal to the maximum transform size.According to an embodiment, an operation of splitting a TU on the basisof the maximum transform size may be performed in a stage such asperforming an intra-prediction, or processing of a residual signal. Theoperation of splitting a TU on the basis of the maximum transform sizemay be recursively performed and may be performed until the TU becomessmaller than or equal to the maximum transform size.

Referring to FIG. 25, the width and the height of a coding unit may beexpressed as cbWidth and cbHeight, respectively. In addition, the widthand the height of a TU may be tbWidth and tbHeight, respectively. Inaddition, MaxTbSizeY may be the maximum transform size. Morespecifically, MaxTbSizeY may be the maximum transform size with respectto the luma component. The tbWidth and tbHeight of a TU before splittingmay be cbWidth and cbHeight, respectively. A TU may be split accordingto whether tbWidth or tbHeight is larger than the maximum transformsize, and tbWidth or tbHeight may be updated. In an embodiment of FIG.25, cbWidth may be larger than MaxTbSizeY (cbWidth>MaxTbSizeY). In thiscase, a TU may be split, and tbWidth and tbHeight of the TU beforesplitting may be cbWidth and cbHeight, respectively. Therefore, tbWidthis larger than MaxTbSizeY (tbWidth>MaxTbSizeY) and thus a TU may besplit into a first transform unit and a second transform unit. ThenewTbWidth indicating the width of a new TU may be defined by tbWidth/2.In the present disclosure, a unit and a block may be used together. Inaddition, a unit may be a concept of including one or more blocks. Forexample, a unit may be a concept of including a block related toluminance and one or more blocks related to chroma.

Table 8 below shows an example of a decoding process for a coding unitfor which intra-prediction coding has been performed, according to anembodiment of the present disclosure.

TABLE 8 8.4 Decoding process for coding units coded in intra predictionmode 8.4.1 General decoding process for coding units coded in intraprediction mode Inputs to this process are: - a luma location ( xCb, yCb) specifying the top-left sample of the current coding block relative tothe top-left luma sample of the current picture, - a variable cbWidthspecifying the width of the current coding block in luma samples. - avariable cbHeight specifying the height of the current coding block inluma samples, - a variable treeType specifying whether a single or adual tree is used and if a dual tree is used, it specifies whether thecurrent tree corresponds to the luma or chroma components. Output ofthis process is a modified reconstructed picture before in-loopfiltering. The derivation process for quantization parameters asspecified in clause 8.7.1 is invoked with the luma location ( xCb, yCb), the width of the current coding block in luma samples cbWidth and theheight of the current coding block in luma samples cbHeight, and thevariable treeType as inputs. When treeType is equal to SINGLE_TREE ortreeType is equal to DUAL_TREE_LUMA, the decoding process for lumasamples is specified as follows:  1. The variable MipSizeId[ x ][ y ]for x = xCb..xCb + cbWidth − 1 and y = yCb..yCb + cbHeight − 1 isderived as follows:  - If both cbWidth and cbHeight are equal to 4,MipSizeId[ x ][ y ] is set equal to 0.  - Otherwise, if both cbWidth andcbHeight are less than or equal to 8, MipSizeId[ x ][ y ] is set equalto 1.  - Otherwise, MipSizeId[ x ][ y ] is set equal to 2.  2. The lumaintra prediction mode is derived as follows:  - If intra_mip_flag[ xCb][ yCb ] is equal to 1, IntraPredModeY[ x ][ y ] with x = xCb..xCb +cbWidth − 1 and y = yCb..yCb + cbHeight − 1 is set to be equal tointra_mip_mode[ xCb ][ yCb ].  - Otherwise, the derivation process forthe luma intra prediction mode as specified in clause 8.4.2 is invokedwith the luma location ( xCb, yCb ) the width of the current codingblock in luma samples cbWidth and the height of the current coding blockin luma samples cbHeight as input.  3. The variable predModeIntra is setequal to IntraPredModeY[ xCb ][ yCb ].  4. The general decoding processfor intra blocks as specified in clause 8.4.5.1 is invoked with thesample location ( xTb0, yTb0 ) set equal to the luma location ( xCb, yCb), the variable nTbW set equal to cbWidth, the variable nTbH set equalto cbHeight, predModeIntra, treeType, and the variable cIdx set equal to0 as inputs, and the output is a modified reconstructed picture beforein-loop filtering When treeType is equal to SINGLE_TREE or treeType isequal to DUAL_TREE_CHROMA, and when ChromaArrayType is not equal to 0,the decoding process for chroma samples is specified as follows:  1. Thederivation process for the chroma intra prediction mode as specified inclause 8.4.3 is invoked with the luma location ( xCb, yCb ), the widthof the current coding block in luma samples cbWidth and the height ofthe current coding block in luma samples cbHeight as input.  2. Thegeneral decoding process for intra blocks as specified in clause 8.4.5.1is invoked with the sample location ( xTb0, yTb0 ) set equal to thechroma location ( xCb / SubWidthC , yCb / SubHeightC ), the variablenTbW set equal to ( cbWidth / SubWidthC ), the variable nTbH set equalto ( cbHeight / SubHeightC ), the variable predModeIntra set equal toIntraPredModeC[ xCb ][ yCb ], treeType, and the variable cIdx set equalto 1, and the output is a modified reconstructed picture before in-loopfiltering.  3. The general decoding process for intra blocks asspecified in clause 8.4.5.1 is invoked with the sample location ( xTb0,yTb0 ) set equal to the chroma location ( xCb / SubWidthC , yCb /SubHeightC ), the variable nTbW set equal to ( cbWidth / SubWidthC ),the variable nTbH set equal to ( cbHeight / SubHeightC ), the variablepredModeIntra set equal to IntraPredModeC[ xCb ][ yCb ], treeType, andthe variable cIdx set equal to 2, and the output is a modifiedreconstructed picture before in-loop filtering.

According to an embodiment of the present disclosure, the process inTable 8 may invoke the process of Table 9 described below. The processin Table 8 may include a decoding process for the luma component, and adecoding process for the chroma component. In addition, processing ofthe chroma component may include processing of a Cb component andprocessing of a Cr component. Furthermore, in connection with processingof the luma component and processing of the chroma component in clause8.4.1 in Table 8, the procedure of clause 8.4.5.1 in Table 9 describedbelow may be performed by using different inputs.

Referring to Table 8, cbWidth and cbHeight in clause 8.4.1 may indicatethe width and the height of a current coding block, respectively, andthe values thereof may be based on a luma sample. That is, for example,if the size of a luma block is 16×16, the size of a corresponding chromablock may be 8×8 according to a color format, and cbWidth and cbHeightvalues for the chroma coding block may be 16 and 16, respectively. Inaddition, (xCb, yCb) may show the coordinates of a current coding block.The values thereof may indicate the coordinates of a top-left sample ofthe current coding block and may be expressed on the basis of thecoordinates of a top-left sample of a current picture. In addition,(xCb, yCb) may be values expressed on the basis of a luma sample.

Referring to clause 8.4.1 in Table 8, the decoder may perform processingon the luma component if a tree type (treeType) is SINGLE_TREE orDUAL_TREE_LUMA. In the procedure, the decoder may invoke the decodingprocess of Table 9 described below. A sample location input may be (xCb,yCb), and the width and the height thereof may be cbWidth and cbHeight,respectively. In addition, if the tree type is SINGLE_TREE orDUAL_TREE_CHROMA, the decoder may perform processing on the chromacomponent. In the procedure, the decoder may invoke the decoding processof Table 9 described below and may invoke a decoding process for each ofCb and Cr components. A sample location input may be (xCb/SubWidthC,yCb/SubHeightC) and the width and the height thereof may becbWidth/SubWidthC and cbHeight/SubHeightC. Moreover, cIdx may be a valueother than 0, and may be 1 for Cb and may be 2 for Cr. The SubWidthC andSubHeightC may be pre-configured values based on a color format. Thevalues of SubWidthC and SubHeightC may be 1 or 2 and may be a valuecorresponding to the relation between the luma component and the chromacomponent.

Therefore, when the decoding process of Table 9 described below isperformed, an input may be transformed such that the luma componentcorresponds to the luma component, and the chroma component correspondsto the chroma component. That is, width (nTbW), height (nTbH),coordinates (xTb0, yTb0) in clause 8.4.5.1 in Table 9 described latermay be based on the number of chroma samples when the decoding processis performed for the chroma component. Width (nTbW), height (nTbH), andcoordinates (xTb0, yTb0) may be based on the number of luma samples whenthe decoding process is performed for the luma component.

According to an embodiment of the present disclosure, the tree type mayindicate a block partitioning relation between the luma component andthe chroma component or indicate which component for which processing isperformed currently. For example, if the tree type is SINGLE_TREE, theblock partitioning of the luma component and the block partitioning ofthe chroma component may be the same. Alternatively, if the tree type isSINGLE_TREE, the block partitioning of the luma component and the blockpartitioning of the chroma component may be dependent on each other. Inaddition, if the tree type is SINGLE_TREE, processing of the lumacomponent and processing of the chroma component may both be performed.In addition, if the tree type is DUAL_TREE_LUMA or DUAL_TREE_CHROMA, theblock partitioning of the luma component and the block partitioning ofthe chroma component may be different from each other. Alternatively, ifthe tree type is DUAL_TREE_LUMA or DUAL_TREE_CHROMA, the blockpartitioning of the luma component and the block partitioning of thechroma component may be dependent on each other. In addition, if thetree type is DUAL_TREE_LUMA, processing of the luma component may beperformed. In addition, if the tree type is DUAL_TREE_CHROMA, processingof the chroma component may be performed.

Table 9 below shows an example of a decoding process for an intra blockaccording to an embodiment of the present disclosure.

The decoding process for an intra block according to Table 9 may includeTU splitting described above. In Table 9, TU splitting described abovemay be performed before the stage of clause 8.4.5.1. Referring to Table9, maxTbWidth and maxTbHeight may correspond to the maximum transformsizes corresponding to a color component, and may correspond to widthand height, respectively. As described above, MaxTbSizeY may be amaximum transform size with respect to the luma component. Therefore,with respect to the chroma component (i.e., cIdx is not 0), maxTbWidthmay be MaxTbSizeY/SubWidthC, and maxTbHeight may beMaxTbSizeY/SubHeightC. In addition, both maxTbWidth and maxTbHeight maybe MaxTbSizeY with respect to the luma component. These are shown by theequations (8-41) and (8-42). In addition, there may be a procedure oftransforming coordinates to be luma-based values. The equation (8-43)may show the procedure and the values may be calculated on the basis ofcIdx, SubWidthC, and SubHeightC. The result thereof may be (xTbY, yTbY).

Referring to Table 9, if 1) IntraSubPartitionsSplitType is ISP_NO_SPLIT,and 2) nTbW is larger than maxTbWidth, or nTbH is larger thanmaxTbHeight, operations (1,2) in the area indicated by (A) may beperformed. These operations may correspond to TU splitting describedwith reference to FIG. 25. In addition, an operation of retrieving theprocess in Table 9 again may be included in the area (A) in Table 9. Thedecoder may invoke a decoding process for a TU which has been split. Asdescribed above, if IntraSubPartitionsSplitType is ISP_NO_SPLIT, ISP maynot be used. Otherwise, that is, if 1) IntraSubPartitionsSplitType isnot ISP_NO_SPLIT, or 2) nTbW is smaller than or equal to maxTbWidth, andnTbH is smaller than or equal to maxTbHeight, an operation in the areaindicated by (B) in Table 9 may be performed. Therefore, if ISP is used,the decoder may perform a decoding process in the area indicated by (B).In the area (B), an intra-prediction (number 2 in area (B)), a scaling(or inverse quantization), a transformation (number 3 in area (B)), areconstruction (number 4 in area (B)), etc. may be performed.

According to an embodiment of the present disclosure, when ISP isperformed, the width or the height of a sub partition may be limited.More specifically, when ISP is performed, the width or the height of asub partition for prediction may be limited. More specifically, when ISPis performed, the width of a sub partition for prediction may belimited. Being limited may mean that a small size is not used. This mayallow easy implementation. For example, in an implementation, a memorymay be stored and invoked in a unit of rows. In this case, when a row ofa sub partition is invoked, more rows than are actually used may berequired to be invoked, and if the width of the sub partition is small,throughput may be reduced. For example, if a CU size is 4×N or 8×N, thewidth of an ISP sub partition may be able to be 1 or 2 according to theabove description.

In addition, when ISP is performed, the size of a sub partition forprediction is limited Thus, a predicted size and a transformed size maybe different from each other. When ISP is performed, the size of a subpartition for prediction is limited. Thus, a size in which a predictionis performed and a size in which a reconstruction is performed may bedifferent from each other. For example, when ISP is used, a predictedsize may be larger than or equal to a transformed or reconstructed size.

Therefore, according to an embodiment of the present disclosure, whenISP is performed, the width of a sub partition for prediction may bedefined to be 4 or more. Hereinafter, a case where the minimum value ofthe width of a sub partition for ISP prediction is 4 are mainlydescribed. However, the present disclosure is not limited thereto, arandom minimum value other than 4 may be configured, and the samedescription may be applied.

According to an embodiment of the present disclosure, the decoder mayconfigure nW and nH. For example, nW and nH may be a transform width anda transform height which are scaled and transformed, (number 3 in area(B) in Table 9) or are reconstructed (number 4 in area (B) in Table 9),respectively. In addition, if the width of an ISP sub partition issmaller than the minimum value (i.e., if an nTbW/NumIntraSubPartitionsvalue is smaller than the minimum value when ISP vertical splitting isperformed), nW may not be a transform width of prediction (number 2 inarea (B) in Table 9). If the width of an ISP sub partition is smallerthan the minimum value (i.e., if a nTbW/NumIntraSubPartitions value issmaller than the minimum value when an ISP vertical splitting isperformed), a transform width for prediction (number 2 in area (B) inTable 9) may be the minimum value of the width of a sub partition of anISP prediction. In addition, in a case (the case where the width of anISP sub partition is larger than or equal to the minimum value, ISPhorizontal splitting is performed, or ISP is not used) other than thecase where the width of an ISP sub partition is smaller than the minimumvalue (i.e., if an nTbW/NumIntraSubPartitions value is smaller than theminimum value when ISP vertical splitting is performed), nW may be atransform width for prediction (number 2 in area (B) in Table 9).Furthermore, nH may be a transform height for prediction (number 2 inarea (B) in Table 9). Referring to the equation (8-46), ifIntraSubPartitionsSplitType is ISP_VER_SPLIT, nW may be configured bynTbW/NumIntraSubPartitions. In addition, if IntraSubPartitionsSplitTypeis not ISP_VER_SPLIT (i.e., if ISP is horizontally split or ISP is notused), nW may be configured to be nTbW. In addition, referring to theequation (8-47), if IntraSubPartitionsSplitType is ISP_HOR_SPLIT, nH maybe configured by nTbH/NumIntraSubPartitions. In addition, ifIntraSubPartitionsSplitType is not ISP_HOR_SPLIT (i.e., if ISP isvertically split or an ISP is not used), nH may be configured to benTbH.

According to an embodiment of the present disclosure, the decoder mayconfigure xPartInc and yPartInc. When ISP is used, a sub partition indexor a sub partition position may be indicated on the basis of xPartIncand yPartInc, and prediction, transformation, and reconstructionoperations, etc. may be performed by using the same. In Table 9,referring to the equation (8-48), in a case of ISP_VER_SPLIT, xPartIncmay be configured to be 1, and in the other cases (a case where ISP isnot be used, or a case of ISP_HOR_SPLIT), the same may be configured tobe 0. Referring to the equation (8-49), in a case of ISP_HOR_SPLIT,yPartInc may be configured to be 1, and in the other cases (a case whereISP is not be used, or a case of ISP_VER_SPLIT), the same may beconfigured to be 0. Referring to the equations (8-52) and (8-53),xPartIdx and yPartIdx may be configured on the basis of xPartInc andyPartInc. xPartIdx and yPartIdx may indicate an ISP sub partition index,and may be an index for the x-axis, and an index for the y-axis,respectively. Alternatively, xPartIdx and yPartIdx may indicate a subpartition index for scaling, transformation, and reconstruction. If ISPis not used, xPartIdx and yPartIdx may both be 0. If ISP is used,NumIntraSubPartitions becomes larger than 1, and referring to area (B)in Table 9, processes indicated by numbers 1, 2, 3, and 4 are performedwith respect to “For i=0..NumIntraSubPartitions−1”, wherein for loop isoperated so that xPartIdx or yPartIdx is increased. xPartIdx or yPartIdxis increased with respect to the component among xPartInc or yPartInc,which is not 0 (equations (8-52) and (8-53)). In addition, Referring toTable 9, xPartIdx and yPartIdx may be configured to be 0 before for loopis started.

According to an embodiment of the present disclosure, the decoder mayconfigure the size of a prediction block. More specifically, the widthof a prediction block may be configured. Referring to Table 9, the widthof a prediction block may be nPbW. In addition, the minimum width of aprediction block may be minPbW. In addition, minPbW may be the minimumvalue of the width of an ISP sub partition described above. According toan embodiment, nPbW may be configured on the basis of minPbW. Inaddition, nPbW may be configured on the basis of nW. According to anembodiment, nPbW may be configured as Equation 17 below.

nPbW=Max(minPbW,nW)  [Equation 17]

Referring to Equation 17, nPbW may always be equal to or larger thanminPbW. This is because that if nW is smaller than minPbW, nPbW isconfigured to be minPbW, if nW is larger than minPbW, nPbW is configuredto be nW, and if nW is identical to minPbW, nPbW is configured to beminPbW. In addition, a case where nW is smaller than minPbW maycorrespond to a case where ISP is used, and vertical splitting isperformed.

In addition, according to an embodiment of the present disclosure,minPbW may be 4. Therefore, referring to the equation (8-50) in area (B)in Table 9, nPbW may be configured as Equation 18 below.

nPbW=Max(4,nW)  [Equation 18]

In Equation 18, Max(x, y) may be a function of providing, as a resultvalue, x if x is larger than or equal to y (x>=y) and providing y if xis smaller than y (x<y).

In addition, in an embodiment, referring to Table 9, the decoder mayconfigure pbFactor. For example, the decoder may configure the same asshown in the equation (8-51). In addition, the decoder may configure theindex of a prediction block on the basis of pbFactor. For example, thedecoder may configure the x-axis index of a prediction block on thebasis of pbFactor. Referring to the equation (8-54) in area (B) of Table9, the x-axis index of a prediction block may be xPartPbIdx. xPartPbIdxmay be configured by (xPartIdx % pbFactor). The operator % may indicatea modular calculation. That is, x % y may be the remainder after x isdivided by y. If nW is 4 or more, nPbW may be nW. Therefore, pbFactormay be 1. Therefore, xPartPbIdx may always be 0. If nW is smaller than4, nPbW may be 4(or minPbW). Therefore, pbFactor may be 4/nW, andpbFactor may be a value larger than 1. If nW is 1 or 2, pbFactor may be4 and 2, respectively. There may be a case where xPartPbIdx is not 0.

More specifically, there may be a case where nTbW is 4 andNumIntraSubPartitions is 2. NumIntraSubPartitions may indicate thenumber of sub partitions by ISP. For example, if ISP is used, the samemay indicate the number of transform blocks. If ISP is used, and thewidth of a sub partition is larger than or equal to the minimum value,the number of sub partitions by the ISP may be the number of predictionblocks. If ISP is not used, the number of sub partitions caused by ISPmay be 1. For example, if nTbW is 4, nTbH is 8, ISP is used, andvertical splitting is performed, the number of sub partitions by the ISPmay be 2. nW may be 2, nPbW may be 4, and pbFactor may be 2. In thiscase, xPartIdx may be 0 or 1, and when xPartIdx is 0, xPartPbIdx may be0, and when xPartIdx is 1, xPartPbIdx may be 1. In addition, there maybe a case where nTbW is 4, and the number of sub partitions by an ISP is4. For example, if nTbW is 4, nTbH is larger than 8, an ISP is used, andvertical splitting is performed, the number of sub partitions by the ISPmay be 4. In this case, nW may be 1, nPbW may be 4, and pbFactor may be4. In this case, xPartIdx may be 0, 1, 2, or 3, and when xPartIdx is 0,xPartPbIdx may be 0, and when xPartIdx is not 0, xPartPbIdx may not be0.

In addition, there may be a case where nTbW is 8, and the number of subpartitions by an ISP is 4. For example, if nTbW is 8, nTbH is largerthan 4, an ISP is used, and vertical splitting is performed, the numberof sub partitions by the ISP may be 4. In this case, nW may be 2, nPbWmay be 4, and pbFactor may be 2. In this case, xPartIdx may be 0, 1, 2,or 3, and when xPartIdx is 0, 1, 2, and 3, xPartPbIdx may be 0, 1, 0,and 1, respectively. If ISP is not used, nPbW may be nW, pbFactor may be1, and xPartPbIdx may be 0.

In addition, as described above, the decoder may invoke a predictionprocess, which may be the process described in number 2 in area (B) inTable 9. According to an embodiment of the present disclosure, thedecoder may invoke a prediction process or may not invoke the same onthe basis of xPartPbIdx. For example, if xPartPbIdx is 0, the decodermay invoke a prediction process. Conversely, if xPartPbIdx is not 0, thedecoder may not invoke a prediction process. In addition, referring toTable 9, the decoder may identify that the top-left position of acurrent transform block, which is an input of a prediction process, is(xTb0+nW*xPartIdx, yTb0+nH*yPartIdx). Therefore, the position mayindicate the top-left position of each sub partition if ISP is used. Inaddition, the width and the height of a transform block, which is inputsof a prediction process, may be nPbW and nH, respectively. In addition,an output of a prediction process may be predSamples, which is aprediction sample array having a size of (nPbW×nH). The width and theheight of a coding block, which is inputs of a prediction process, maybe nTbW and nTbH, respectively. As described above, nPbW is used as atransform width, which is an input of a prediction process, and thus aprediction process may be performed by using a transform width largerthan the width of a sub partition of ISP. In addition, a transformwidth, which is an input of a prediction process, may be larger than orequal to the minimum value of the width of a sub partition for ISPprediction when ISP is used. Every time the prediction process isperformed, the decoder may generate and prepare a reference sample andperform an intra sample prediction.

In addition, in an embodiment, the decoder may invoke a scaling andtransformation process (number 3 in area (B) in Table 9), and areconstruction process (number 4 in area (B) in Table 9). In addition, atransform width and a transform height, which are inputs, may be nW andnH, respectively. The decoder may invoke the processes regardless ofxPartPbIdx. Therefore, there may be a case where a scaling andtransformation process or a reconstruction process is performed withoutperforming a prediction process for a particular i, a xPartIdx, and ayPartIdx. There may be a case where a transform width of a predictionprocess and a transform width of a scaling and transformation process ora reconstruction process are all different from each other with respectto a particular i (a xPartIdx, and a yPartIdx). An output of a scalingand transformation process or a reconstruction process may be an arrayof (nW×nH).

In an embodiment of the present disclosure, configuring nPbW, pbFactor,and xPartPbIdx, performing a prediction process on the basis ofxPartPbIdx and configuring nPbW as a transform width, which is an inputof the prediction process, may be for the purpose of guaranteeing that,when ISP is used, a prediction process is performed with at least theminimum value of the width of a sub partition. However, the process ofTable 9 may also be performed for the chroma component as described withreference to Table 8. In addition, it is possible that the width or theheight of a chroma block is smaller than 4. Therefore, if the width of achroma block is smaller than 4, nPbW may be configured to be 4, and aprediction process may be performed using 4 as a transform block widthinput. In this case, a prediction may be performed with a value largerthan the size of a prediction block actually required. If ISP is used,all the prediction blocks generated as outputs are used eventually, anda prediction sample which is not to be used in a described chromacomponent case may be generated. In addition, accordingly, referencesamples may be generated and prepared more than required, and predictionblocks may be generated more than required. In addition, in a case wherea prediction of a value larger than a width to be actually used isperformed, if the planar mode, the DC mode, the PDPC, etc. is performed,a part far away from a prediction sample part to be actually used isused as a reference. Therefore, a coding performance may degrade.

Table 10 below shows an example of a decoding process for an intra blockaccording to an embodiment of the present disclosure.

TABLE 10 - Otherwise, the following ordered steps apply:  - TheVariables nW, nH, nPbW, pbFactor, xPartInc and yPartInc are derived asfollows:  nW = IntraSubPartitionsSplitType = = ISP_VER_SPLIT ? nTbW /NumIntraSubPartitions : nTbW (8-46)  nH = IntraSubPartitionsSplitType == ISP_HOR_SPLIT ? nTbH / NumIntraSubPartitions : nTbH (8-47)  xPartInc =ISP_VER_SPLIT ? 1 : 0 (8-48)  yPartInc = ISP_HOR_SPLIT ? 1 : 0 (8-49) nPbW = ( cIdx = = 0 ) ? Max( 4 , nW ) : nW (8-50)  pbFactor = nPbW / nW(8-51)  - The variables xPartIdx and yPartIdx are set equal to 0.  - Fori = 0..NumIntraSubPartitions − 1, the following applies: 1. Thevariables xPartIdx and yPartIdx are updated as follows:  xPartIdx =xPartIdx + xPartInc (8-52)  yPartIdx = yPartIdx + yPartInc (8-53) xPartPbIdx = xPartIdx % pbFactor (8-54) 2. When xPartPbIdx is equal to0, the intra sample prediction process as specified in clause 8.4.5.2 isinvoked with the location ( xTbCmp, yTbCmp ) set equal to ( xTb0 + nW *xPartIdx, yTb0 + nH * yPartIdx ), the intra prediction modepredModeIntra, the transform block width nTbW and height nTbH set equalto nPbW and nH, the coding block width nCbW and height nCbH set equal tonTbW and nTbH, and the variable cIdx as inputs, and the output is an(nPbW)x(nH) array predSamples. 3. The scaling and transformation processas specified in clause 8.7.2 is invoked with the luma location ( xTbY,yTbY ) set equal to ( xTbY + nW * xPartIdx, yTbY + nH * yPartIdx ), thevariable cIdx, the transform width nTbW and the transform height nTbHset equal to nW and nH as inputs, and the output is an (nW)x(nH) arrayresSamples. 4. The picture reconstruction process for a colour componentas specified in clause 8.7.5 is invoked with the transform blocklocation ( xTbComp, yTbComp ) set equal to ( xTb0 + nW * xPartIdx,yTb0 + nH * yPartIdx ), the transform block width nTbW, the transformblock height nTbH set equal to nW and nH, the variable cIdx, the(nW)x(nH) array predSamples[ x ][ y ] with x = xPartPbIdx * nW..(xPartPbIdx +1 ) * nW − 1, y = 0..nH − 1, and the (nW)x(nH) arrayresSamples as inputs, and the output is a modified reconstructed picturebefore in-loop filtering.

According to an embodiment of the present disclosure, Table 10 maysubstitute part (B) of Table 9 described above. In addition, theembodiment of Table 10 may be proposed to solve the problem describedwith reference to Table 9. In addition, a description overlapping withthe description given with reference to Table 9 is omitted. According toan embodiment of the present disclosure, the encoder/decoder may not useISP for the chroma component. In addition, as described above, anoperation of configuring nPbW, and configuring a transform width of aprediction process to be nPbW may be to limit the width of a subpartition when ISP is used.

That is, according to an embodiment of the present disclosure, theencoder/decoder may configure nPbW on the basis of what the colorcomponent is. What the color component is may be indicated by cIdx. IfcIdx is 0, the color component may be the luma component, and if cIdx isnot 0 (e.g., 1 or 2), the color component may be the chroma component.According to an embodiment, the encoder/decoder may configure nPbW to beMax(minPbW, nW) with respect to the luma component, and may configurenPbW to be nW with respect to the chroma component. Alternatively, theencoder/decoder may configure nPbW to be Max(minPbW, nW) with respect tothe luma component, and may configure nPbW to be nTbW with respect tothe chroma component. This is because ISP may not be used for the chromacomponent. Therefore, nPbW may be configured as Equation 19 below.

nPbW=(cIdx==0)?Max(min_(PbW) ,nW):nW  [Equation 19]

According to an embodiment, minPbW may be 4. Therefore, referring to theequation (8-50) in Table 10, nPbW may be configured as Equation 20below.

nPbW=(cIdx==0)?Max(4,nW):nW  [Equation 20]

Therefore, if nW is smaller than 4 with respect to the luma component(this case may be part of a case where ISP is used and verticalsplitting is performed), the encoder/decoder may configure 4 as nPbW. Inaddition, if nW is larger than or equal to 4 with respect to the lumacomponent (this case may be part of a case where ISP is not used, or ISPis used), the encoder/decoder may configure nW as nPbW. In addition,nPbW may be configured to be nW with respect to the chroma component.This case may be the same as the case where, if ISP is not used withrespect to the chroma component, nTbW is used as nPbW.

In an embodiment of the present disclosure, nTbW and nTbH may be valuesobtained by modifying the width and the height of a coding block on thebasis of the maximum transform size. In addition, if ISP is used, nW andnH may be the width and the height of an ISP sub-partition, and if ISPis not used, nW and nH may be nTbW and nTbH. In addition, if a codingblock width is larger than the maximum transform size, nTbW may be themaximum transform size, and if a coding block width is smaller than orequal to the maximum transform size, nTbW may be the coding block width.In addition, if a coding block height is larger than the maximumtransform size, nTbH may be the maximum transform size, and if a codingblock height is smaller than or equal to the maximum transform size,nTbH may be the coding block height.

In the embodiment of Table 10, nPbW is configured to be nW with respectto the chroma component, and thus nW may be used as an input transformblock width of a prediction process. Therefore, an unnecessary ornon-efficient prediction process (the process may include generation andpreparation of a reference sample, generation of a prediction sample,etc.) may be removed. That is, if a chroma block width is smaller than4, the width of a transform block of a prediction process may beprevented from being configured to be 4. In addition, in the embodimentof Table 10, pbFactor for the chroma component may always be 1.

According to an additional embodiment of the present disclosure, aprocedure of configuring 1 as the number of sub partitions with respectto the chroma component may be added. Alternatively, a procedure ofconfiguring an ISP split type for the chroma component to beISP_NO_SPLIT may be added. Referring to Table 8 to Table 10, the numberof sub partitions or an ISP split type is used for the chroma componentas well as the luma component, and there may not exist an independentparameter for each color component. Therefore, this is because, in acase of SINGLE_TREE, if ISP is used for the luma component,sub-partitioning may be performed for the chroma component by using thenumber of sub partitions or an ISP split type value of a case where ISPis used.

According to another embodiment, the number of sub partitions or an ISPsplit type value may separately exist for the chroma component. Forexample, the number or the ISP split type value may beNumIntraSubPartitions[cIdx] or IntraSubPartitionsSplitType[cIdx].Therefore, if cIdx is not 0, the encoder/decoder may configure or infer1 and ISP_NO_SPLIT as NumIntraSubPartitions[cIdx] andIntraSubPartitionsSplitType[cIdx], respectively.

According to another embodiment, variables such as nW, nH, xPartInc, andyPartInc in Table 10 may be configured on the basis of a colorcomponent. For example, the above variables may be configured asEquation 21 below.

nW=(IntraSubPartitionsSplitType==ISP_VER_SPLIT &&cIdx==0)?nTbW/NumIntraSubPartitions:nTbW

nH=(IntraSubPartitionsSplitType==ISP_HOR_SPLIT&&cIdx==0)?nTbH/NumIntraSubPartitions:nTbH

xPartInc=ISP_VER_SPLIT && cIdx0?1:0

yPartInc=ISP_HOR_SPLIT && cIdx==0?1:0  [Equation 21]

Table 11 below shows an example of a decoding process for an intra blockaccording to an embodiment of the present disclosure.

TABLE 11 - Otherwise, the following ordered steps apply:  - Thevariables nW, nH, nPbW, pbFactor, xPartInc and yPartInc are derived asfollows:  nW = IntraSubPartitionsSplitType = = ISP_VER_SPLIT ? nTbW /NumIntraSubPartitions : nTbW (8-46)  nH = IntraSubPartitionsSplitType == ISP_HOR_SPLIT ? nTbH / NumIntraSubPartitions : nTbH (8-47)  xPartInc =ISP_VER_SPLIT ? 1 : 0 (8-48)  yPartInc = ISP_HOR_SPLIT ? 1 : 0 (8-49) nPbW = Max( 4 , nW ) (8-50)  pbFactor = nPbW / nW (8-51)  - Thevariables xPartIdx and yPartIdx are set equal to 0.  - For i =0..NumIntraSubPartitions − 1, the following applies: 1. The variablesxPartIdx and yPartIdx are updated as follows:  xPartIdx xPartIdx +xPartInc (8-52)  yPartIdx = yPartIdx + yPartInc (8-53)  xPartPbIdx =xPartIdx % pbFactor (8-54) 2. When xPartPbIdx is equal to 0, the intrasample prediction process as specified in clause 8.4.5.2 is invoked withthe location ( xTbCmp, yTbCmp ) set equal to ( xTb0 + nW * xPartIdx,yTb0 + nH * yPartIdx ), the intra prediction mode predModeIntra, thetransform block width nTbW and height nTbH set equal to ( cIdx = = 0 ?nPbW : nW ) and nH, the coding block width nCbW and height nCbH setequal to nTbW and nTbH, and the variable cIdx as inputs, and the outputis an (nPbW)x(nH) array predSamples when cIdx is equal to 0 and an(nW)x(nH) array predSamples when cIdx is not equal to 0. 3. The scalingand transformation process as specified in clause 8.7.2 is invoked withthe luma location ( xTbY, yTbY ) set equal to ( xTbY + nW * xPartIdx,yTbY + nH * yPartIdx ), the variable cIdx, the transform width nTbW andthe transform height nTbH set equal to nW and nH as inputs, and theoutput is an (nW)x(nH) array resSamples. 4. The picture reconstructionprocess for a colour component as specified in clause 8.7.5 is invokedwith the transform block location ( xTbComp, yTbComp ) set equal to (xTb0 + nW * xPartIdx, yTb0 + nH * yPartIdx ), the transform block widthnTbW, the transform block height nTbH set equal to nW and nH, thevariable cIdx, the (nW)x(nH) array predSamples[ x ][ y ] with x =xPartPbIdx * nW..( xPartPbIdx +1 ) * nW − 1, y = 0..nH − 1, and the(nW)x(nH) array resSamples as inputs, and the output is a modifiedreconstructed picture before in-loop filtering.

According to an embodiment of the present disclosure, Table 11 maysubstitute part (B) of Table 9 described above. In addition, theembodiment of FIG. 11 may be proposed to solve the problem describedwith reference to Table 9. In addition, a description overlapping withthe description given with reference to Table 9 and Table 10 is omitted.

According to an embodiment of the present disclosure, an input and anoutput of a prediction process may vary according to what the colorcomponent is. For example, an input and an output of a predictionprocess may vary according to whether or not the color component is theluma component. The prediction process may mean the part invoked innumber 2 in Table 11. In addition, the prediction process may includegeneration and preparation of a reference sample, an intra sampleprediction, and the like. According to an embodiment, in a case of theluma component, nPbW may be used as the width of a transform block,which is an input of a prediction process. In this case, the width of anoutput array of the prediction process may be nPbW.

In addition, according to an embodiment, in a case of the chromacomponent, nW (or nTbW) may be used as the width of a transform block,which is an input of a prediction process. In this case, the width of anoutput array of the prediction process may be nW (or nTbW). In theembodiment of Table 11, an input transform block width of a predictionprocess, is configured to be nW for the chroma component. Therefore, anunnecessary or non-efficient prediction process (the process may includegeneration and preparation of a reference sample, generation of aprediction sample, etc.) may be removed. That is, if a chroma blockwidth is smaller than 4, the width of a transform block of a predictionprocess may be prevented from being configured to be 4.

In addition, in the embodiment of Table 11, nPbW may be configured to be4 or more. Therefore, there may be a case where pbFactor is not 1. Forexample, if a chroma block width is smaller than 4, nPbW may beconfigured to be 4, and pbFactor may be configured to be larger than 1.In a case of the chroma component, the number of ISP sub partitions maybe 1, and xPartPbIdx is 0 because xPartIdx is only used as 0. Therefore,there may be no problem to perform the processes indicated by numbers 2,3, and 4 in Table 11.

Table 12 below shows an example of a decoding process for an intra blockaccording to an embodiment of the present disclosure.

TABLE 12 - Otherwise, the following ordered steps apply:  - Thevariables nW, nH, nPbW, pbFactor, xPartInc and yPartInc are derived asfollows:  nW = IntraSubPartitionsSplitType = = ISP_VER_SPLIT ? nTbW /NumIntraSubPartitions : nTbW (8-46)  nH = IntraSubPartitionsSplitType == ISP_HOR_SPLTT ? nTbH / NumIntraSubPartitions : nTbH (8-47)  xPartInc =ISP_VER_SPLIT ? 1 : 0 (8-48)  yPartInc = ISP_HOR_SPLIT ? 1 : 0 (8-49) nPbW = ( cIdx = = 0 ) ? Max( 4 , nW ) : nW (8-50)  pbFactor = nPbW / nW(8-51)  CbWidth = nTbW  CbHeight = nTbH  - The variables xPartIdx andyPartIdx are set equal to 0.  - For i = 0..NumIntraSubPartitions − 1,the following applies: 1. The variables xPartIdx and yPartIdx areupdated as follows:  xPartIdx = xPartIdx + xPartInc (8-52)  yPartIdx =yPartIdx + yPartInc (8-53)  xPartPbIdx = xPartIdx % pbFactor (8-54) 2.When xPartPbIdx is equal to 0, the intra sample prediction process asspecified in clause 8.4.5.2 is invoked with the localion ( xTbCmp,yTbCmp ) set equal to ( xTb0 + nW * xPartIdx, yTb0 + nH * yPartIdx ),the intra prediction mode predModeIntra, the transform block width nTbWand height nTbH set equal to nPbW and nH, the coding block width nCbWand height nCbH set equal to CbWidth and CbHeight, and the variable cIdxas inputs, and the output is an (nPbW)x(nH) array predSamples. 3. Thescaling and transformation process as specified in clause 8.7.2 isinvoked with the luma location ( xTbY, yTbY ) set equal to ( xTbY + nW *xPartIdx, yTbY + nH * yPartIdx ), the variable cIdx, the transform widthnTbW and the transform height nTbH set equal to nW and nH as inputs, andthe output is an (nW)x(nH) array resSamples. 4. The picturereconstruction process for a colour component as specified in clause8.7.5 is invoked with the transform block location ( xTbComp, yTbComp )set equal to ( xTb0 + nW * xPartIdx, yTb0 + nH * xPartIdx ), thetransform block width nTbW, the transform block height nTbH set equal tonW and nH, the variable cIdx, the (nW)x(nH) array predSamples[ x ][ y ]with x = xPartPbIdx * nW..( xPartPbIdx +1 ) * nW − 1, y = 0..nH − 1, andthe (nW)x(nH) array resSamples as inputs, and the output is a modifiedreconstructed picture before in-loop filtering.

Referring to Table 9 to 11 described above, when a prediction processhaving number 2 is invoked, the width nTbW and the height nTbH of atransform block are configured to be nPbW and nH. Thereafter, the widthnCbW and the height nCbH of a coding block are configured to be nTbW andnTbH. Therefore, the width nCbW and the height nCbH of a coding blockmay be configured to be nPbW and nH. According to an embodiment of thepresent disclosure, a coding block width and a coding block height maybe required when ISP is used. If the coding block width and the codingblock height are configured to be nPbW and nH, values corresponding tovery short lengths are used, and thus the prediction may not beperformed properly. For example, in a case where ISP is used, a codingblock width and a coding block height may be used when a referencesample is prepared.

Therefore, according to an embodiment of the present disclosure, whenretrieving a prediction process, the decoder may use values that are notupdated, as a coding block width and a coding block height. For example,the decoder may use, as a coding block width and a coding block heightof a prediction process, a width and a height which are configured outof for loop in Table 12 or are configured before the process indicatedby number 2.

Referring to Table 12, CbWidth and CbHeight may be configured to be nTbWand nTbH, respectively. CbWidth and CbHeight may not be updated when theprocess in Table 12 is operated. In addition, CbWidth and CbHeight maybe used as a coding block width and height which are inputs forretrieving a prediction process in number 2 in Table 12.

As another embodiment, when a prediction process is invoked, the decodermay use, as a coding block width and a coding block height,(IntraSubPartitionsSplitType==ISP_VER_SPLIT ?nW*NumIntraSubPartitions:nW) and(IntraSubPartitionsSplitType==ISP_HOR_SPLIT ?nH*NumIntraSubPartitions:nH), respectively. Also, in the embodiment,values that are not updated are used. Therefore, the above problem maynot occur.

FIG. 26 is a flowchart illustrating an intra-prediction method accordingto an embodiment of the present disclosure. Referring to FIG. 26, forconvenience of explanation, a description will be given mainly for thedecoder, but the present disclosure is not limited thereto. Amulti-estimation prediction-based video signal processing methodaccording to the present embodiment may also be applied to the encoderby a substantially identical method.

The decoder derives an intra-prediction mode of a current block (S2601).

The decoder configures a reference sample around the current block(S2602).

The decoder generates a prediction sample of the current block by usingthe reference sample on the basis of the intra-prediction mode (S2603).

The decoder reconstructs the current block on the basis of theprediction sample (S2604). Specifically, the decoder may add a residualblock to the prediction sample (or a prediction block) so as to generatea reconstruction block of the current block.

As described above, operation S2603 may include: on the basis of a widthand a height of the current block, configuring a filter flag valuespecifying a filter coefficient of an interpolation filter applied tothe reference sample; and performing filtering for the reference sampleby using an interpolation filter having the filter coefficient specifiedby the filter flag.

In addition, as described above, the filter flag value may be configuredon the basis of a block size variable of the current block, and theblock size variable may be derived by summing up log base 2 of thewidth, and log base 2 of the height, and applying a right shiftoperation by 1 for the sum.

In addition, as described above, if a vertical horizontal distanceminimum value is larger than a predefined particular threshold value,the filter flag value is configured to be 1, and otherwise, the filterflag value is configured to be 0, and the vertical horizontal distanceminimum value may be derived to be a smaller value between an absolutevalue of a difference between the intra-prediction mode and a horizontalmode, and an absolute value of a difference between the intra-predictionmode and a vertical mode.

In addition, as described above, the threshold value may be previouslydefined according to the block size variable.

In addition, as described above, if a value of the block size variableis 2, the filter flag value may be configured to be 0.

In addition, as described above, if a value of the block size variableis 2, the threshold may be previously defined to be a value that isalways larger than or equal to the vertical horizontal distance minimumvalue.

In addition, as described above, an intra-prediction mode used to derivethe vertical horizontal distance minimum value may include anintra-prediction mode of a case where a wide angle intra-prediction isused for the current block.

The above-described embodiments of the present invention may beimplemented through various means. For example, embodiments of thepresent invention may be implemented by hardware, firmware, software, ora combination thereof.

For implementation by hardware, the method according to embodiments ofthe present invention may be implemented by one or more of ApplicationSpecific Integrated Circuits (ASICs), Digital Signal Processors (DSPs),Digital Signal Processing Devices (DSPDs), Programmable Logic Devices(PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers,microcontrollers, microprocessors, and the like.

In the case of implementation by firmware or software, the methodaccording to embodiments of the present invention may be implemented inthe form of a module, procedure, or function that performs the functionsor operations described above. The software code may be stored in memoryand driven by a processor. The memory may be located inside or outsidethe processor and may exchange data with the processor by various meansalready known.

Some embodiments may also be implemented in the form of a recordingmedium including computer-executable instructions such as a programmodule that is executed by a computer. Computer-readable media may beany available media that may be accessed by a computer and may includeall volatile, nonvolatile, removable, and non-removable media. Inaddition, the computer-readable media may include both computer storagemedia and communication media. The computer storage media may includeall volatile, nonvolatile, removable, and non-removable mediaimplemented in any method or technology for storing information such ascomputer-readable instructions, data structures, program modules, orother data. Typically, the communication media include computer-readableinstructions, other data of modulated data signals such as datastructures or program modules, or other transmission mechanisms, andinclude any information transfer media.

The above-mentioned description of the present invention is forillustrative purposes only and it will be understood that those ofordinary skill in the art to which the present invention belongs maymake changes to the present invention without altering the technicalideas or essential characteristics of the present invention and theinvention may be easily modified in other specific forms. Therefore, theembodiments described above are illustrative and are not restricted inall aspects. For example, each component described as a single entitymay be distributed and implemented, and likewise, components describedas being distributed may also be implemented in an associated fashion.

The scope of the present invention is defined by the appended claimsrather than the above detailed description and all changes ormodifications derived from the meaning and range of the appended claimsand equivalents thereof are to be interpreted as being included withinthe scope of present invention.

1. A non-transitory computer-readable medium storing a bitstream, thebitstream being decoded by a decoding method, wherein the decodingmethod, comprising: deriving an intra-prediction mode of a currentblock; configuring a reference sample around the current block;generating a prediction sample of the current block by using thereference sample, on the basis of the intra-prediction mode; andreconstructing the current block on the basis of the prediction sample,wherein the generating of the prediction sample comprises: on the basisof a width and a height of the current block, configuring a value of afilter flag specifying a filter coefficient of an interpolation filterapplied to the reference sample; and performing filtering for thereference sample by using the interpolation filter having the filtercoefficient specified by the filter flag.
 2. The non-transitorycomputer-readable medium of claim 1, wherein the value of the filterflag is configured on the basis of a block size variable of the currentblock, and wherein the block size variable is derived by summing up avalue of log base 2 of the width, and a value of log base 2 of theheight, and applying a right shift operation by 1 for a sum value. 3.The non-transitory computer-readable medium of claim 2, wherein thevalue of the filter flag is configured to be 1 if a vertical horizontaldistance minimum value is larger than a predefined particular thresholdvalue, and otherwise, the value of the filter flag is configured to be0, and wherein the vertical horizontal distance minimum value is derivedto be a smaller value between an absolute value of a difference betweenthe intra-prediction mode and a horizontal mode and an absolute value ofa difference between the intra-prediction mode and a vertical mode. 4.The non-transitory computer-readable medium of claim 3, wherein thethreshold value is previously defined according to the block sizevariable.
 5. The non-transitory computer-readable medium of claim 3,wherein, if a value of the block size variable is 2, the value of thefilter flag is configured to be
 0. 6. The non-transitorycomputer-readable medium of claim 4, wherein, if a value of the blocksize variable is 2, the threshold value is previously defined to be avalue that is always larger than or equal to the vertical horizontaldistance minimum value.
 7. The non-transitory computer-readable mediumof claim 3, wherein the intra-prediction mode used to derive thevertical horizontal distance minimum value comprises an intra-predictionmode of a case where a wide angle intra-prediction is used for thecurrent block.
 8. The non-transitory computer-readable medium of claim3, wherein when the value of the filter flag is 0, the interpolationfilter is at least one of a smoothing filter, a DCT (Discrete CosineTransform) filter and a gaussian filter.
 9. A video signal decodingdevice comprising a processor, wherein the processor is configured to:derive an intra-prediction mode of a current block; configure areference sample around the current block; generate a prediction sampleof the current block by using the reference sample on the basis of theintra-prediction mode; and reconstruct the current block on the basis ofthe prediction sample, and wherein the processor: on the basis of awidth and a height of the current block, configure a value of a filterflag specifying a filter coefficient of an interpolation filter appliedto the reference sample; and perform filtering for the reference sampleby using the interpolation filter having the filter coefficientspecified by the filter flag, so as to generate the prediction sample.10. The video signal decoding device of claim 9, wherein the value ofthe filter flag is configured on the basis of a block size variable ofthe current block, and wherein the block size variable is derived bysumming up a value of log base 2 of the width, and a value of log base 2of the height, and applying a right shift operation by 1 for a sumvalue.
 11. The video signal decoding device of claim 10, wherein thevalue of the filter flag is configured to be 1 if a vertical horizontaldistance minimum value is larger than a predefined particular thresholdvalue, and otherwise, the value of the filter flag is configured to be0, and wherein the vertical horizontal distance minimum value is derivedto be a smaller value between an absolute value of a difference betweenthe intra-prediction mode and a horizontal mode and an absolute value ofa difference between the intra-prediction mode and a vertical mode. 12.The video signal decoding device of claim 11, wherein the thresholdvalue is previously defined according to the block size variable. 13.The video signal decoding device of claim 11, wherein, if a value of theblock size variable is 2, the value of the filter flag is configured tobe
 0. 14. The video signal decoding device of claim 12, wherein, if avalue of the block size variable is 2, the threshold value is previouslydefined to be a value that is always larger than or equal to thevertical horizontal distance minimum value.
 15. The video signaldecoding device of claim 11, wherein the intra-prediction mode used toderive the vertical horizontal distance minimum value comprises anintra-prediction mode of a case where a wide angle intra-prediction isused for the current block.
 16. The video signal decoding device ofclaim 11, wherein when the value of the filter flag is 0, theinterpolation filter is at least one of a smoothing filter, a DCT(Discrete Cosine Transform) filter and a gaussian filter.
 17. A videosignal encoding device comprising a processor, wherein the processor isconfigured to: obtain a bitstream to be decoded by a decoder using adecoding method, wherein the decoding method comprising: deriving anintra-prediction mode of a current block; configuring a reference samplearound the current block; generating a prediction sample of the currentblock by using the reference sample, on the basis of theintra-prediction mode; and reconstructing the current block on the basisof the prediction sample, wherein the generating of the predictionsample comprises: on the basis of a width and a height of the currentblock, configuring a value of a filter flag specifying a filtercoefficient of an interpolation filter applied to the reference sample;and performing filtering for the reference sample by using theinterpolation filter having the filter coefficient specified by thefilter flag.
 18. The video signal encoding device of claim 17, whereinthe value of the filter flag is configured on the basis of a block sizevariable of the current block, and wherein the block size variable isderived by summing up a value of log base 2 of the width, and a value oflog base 2 of the height, and applying a right shift operation by 1 fora sum value.
 19. The video signal encoding device of claim 18, whereinthe value of the filter flag is configured to be 1 if a verticalhorizontal distance minimum value is larger than a predefined particularthreshold value, and otherwise, the value of the filter flag isconfigured to be 0, and wherein the vertical horizontal distance minimumvalue is derived to be a smaller value between an absolute value of adifference between the intra-prediction mode and a horizontal mode andan absolute value of a difference between the intra-prediction mode anda vertical mode.
 20. The video signal encoding device of claim 19,wherein the threshold value is previously defined according to the blocksize variable.